@kubb/core 2.0.0-alpha.5 → 2.0.0-alpha.7
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/index.cjs +24 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +45 -4
- package/dist/index.d.ts +45 -4
- package/dist/index.js +24 -8
- package/dist/index.js.map +1 -1
- package/dist/utils.cjs +6 -3
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +6 -3
- package/dist/utils.js.map +1 -1
- package/package.json +7 -7
- package/src/FileManager.ts +41 -0
- package/src/PackageManager.ts +23 -8
- package/src/utils/URLPath.ts +8 -3
package/dist/index.d.cts
CHANGED
|
@@ -477,14 +477,41 @@ type TransformResult = string | null;
|
|
|
477
477
|
type BasePath<T extends string = string> = `${T}/`;
|
|
478
478
|
declare namespace KubbFile {
|
|
479
479
|
type Import = {
|
|
480
|
+
/**
|
|
481
|
+
* Import name to be used
|
|
482
|
+
* @example ["useState"]
|
|
483
|
+
* @examples "React"
|
|
484
|
+
*/
|
|
480
485
|
name: string | Array<string>;
|
|
486
|
+
/**
|
|
487
|
+
* Path for the import
|
|
488
|
+
* @xample '@kubb/core'
|
|
489
|
+
*/
|
|
481
490
|
path: string;
|
|
491
|
+
/**
|
|
492
|
+
* Add `type` prefix to the import, this will result in: `import type { Type } from './path'`
|
|
493
|
+
*/
|
|
482
494
|
isTypeOnly?: boolean;
|
|
483
495
|
};
|
|
484
496
|
type Export = {
|
|
497
|
+
/**
|
|
498
|
+
* Export name to be used
|
|
499
|
+
* @example ["useState"]
|
|
500
|
+
* @examples "React"
|
|
501
|
+
*/
|
|
485
502
|
name?: string | Array<string>;
|
|
503
|
+
/**
|
|
504
|
+
* Path for the import
|
|
505
|
+
* @xample '@kubb/core'
|
|
506
|
+
*/
|
|
486
507
|
path: string;
|
|
508
|
+
/**
|
|
509
|
+
* Add `type` prefix to the export, this will result in: `export type { Type } from './path'`
|
|
510
|
+
*/
|
|
487
511
|
isTypeOnly?: boolean;
|
|
512
|
+
/**
|
|
513
|
+
* Make it possible to override the name, this will result in: `export * as aliasName from './path'`
|
|
514
|
+
*/
|
|
488
515
|
asAlias?: boolean;
|
|
489
516
|
};
|
|
490
517
|
const dataTagSymbol: unique symbol;
|
|
@@ -495,7 +522,15 @@ declare namespace KubbFile {
|
|
|
495
522
|
type Source = string;
|
|
496
523
|
type Extname = '.ts' | '.js' | '.tsx' | '.json' | `.${string}`;
|
|
497
524
|
type Mode = 'file' | 'directory';
|
|
525
|
+
/**
|
|
526
|
+
* Name to be used to dynamicly create the baseName(based on input.path)
|
|
527
|
+
* Based on UNIX basename
|
|
528
|
+
* @link https://nodejs.org/api/path.html#pathbasenamepath-suffix
|
|
529
|
+
*/
|
|
498
530
|
type BaseName = `${string}${Extname}`;
|
|
531
|
+
/**
|
|
532
|
+
* Path will be full qualified path to a specified file
|
|
533
|
+
*/
|
|
499
534
|
type Path = string;
|
|
500
535
|
type AdvancedPath<T extends BaseName = BaseName> = `${BasePath}${T}`;
|
|
501
536
|
type OptionalPath = Path | undefined | null;
|
|
@@ -527,11 +562,17 @@ declare namespace KubbFile {
|
|
|
527
562
|
* @default `false`
|
|
528
563
|
*/
|
|
529
564
|
override?: boolean;
|
|
565
|
+
/**
|
|
566
|
+
* Use extra meta, this is getting used to generate the barrel/index files.
|
|
567
|
+
*/
|
|
530
568
|
meta?: TMeta;
|
|
531
569
|
/**
|
|
532
570
|
* This will override `process.env[key]` inside the `source`, see `getFileSource`.
|
|
533
571
|
*/
|
|
534
572
|
env?: NodeJS.ProcessEnv;
|
|
573
|
+
/**
|
|
574
|
+
* @deprecated
|
|
575
|
+
*/
|
|
535
576
|
validate?: boolean;
|
|
536
577
|
};
|
|
537
578
|
type ResolvedFile<TMeta extends FileMetaBase = FileMetaBase, TBaseName extends BaseName = BaseName> = KubbFile.File<TMeta, TBaseName> & {
|
|
@@ -646,10 +687,10 @@ declare class PackageManager {
|
|
|
646
687
|
getPackageJSON(): Promise<PackageJSON | undefined>;
|
|
647
688
|
getPackageJSONSync(): PackageJSON | undefined;
|
|
648
689
|
static setVersion(dependency: DependencyName, version: DependencyVersion): void;
|
|
649
|
-
getVersion(dependency: DependencyName): Promise<DependencyVersion | undefined>;
|
|
650
|
-
getVersionSync(dependency: DependencyName): DependencyVersion | undefined;
|
|
651
|
-
isValid(dependency: DependencyName, version: DependencyVersion): Promise<boolean>;
|
|
652
|
-
isValidSync(dependency: DependencyName, version: DependencyVersion): boolean;
|
|
690
|
+
getVersion(dependency: DependencyName | RegExp): Promise<DependencyVersion | undefined>;
|
|
691
|
+
getVersionSync(dependency: DependencyName | RegExp): DependencyVersion | undefined;
|
|
692
|
+
isValid(dependency: DependencyName | RegExp, version: DependencyVersion): Promise<boolean>;
|
|
693
|
+
isValidSync(dependency: DependencyName | RegExp, version: DependencyVersion): boolean;
|
|
653
694
|
}
|
|
654
695
|
|
|
655
696
|
type KubbPluginFactory<T extends PluginFactoryOptions = PluginFactoryOptions> = (options: T['options']) => KubbUserPluginWithLifeCycle<T>;
|
package/dist/index.d.ts
CHANGED
|
@@ -477,14 +477,41 @@ type TransformResult = string | null;
|
|
|
477
477
|
type BasePath<T extends string = string> = `${T}/`;
|
|
478
478
|
declare namespace KubbFile {
|
|
479
479
|
type Import = {
|
|
480
|
+
/**
|
|
481
|
+
* Import name to be used
|
|
482
|
+
* @example ["useState"]
|
|
483
|
+
* @examples "React"
|
|
484
|
+
*/
|
|
480
485
|
name: string | Array<string>;
|
|
486
|
+
/**
|
|
487
|
+
* Path for the import
|
|
488
|
+
* @xample '@kubb/core'
|
|
489
|
+
*/
|
|
481
490
|
path: string;
|
|
491
|
+
/**
|
|
492
|
+
* Add `type` prefix to the import, this will result in: `import type { Type } from './path'`
|
|
493
|
+
*/
|
|
482
494
|
isTypeOnly?: boolean;
|
|
483
495
|
};
|
|
484
496
|
type Export = {
|
|
497
|
+
/**
|
|
498
|
+
* Export name to be used
|
|
499
|
+
* @example ["useState"]
|
|
500
|
+
* @examples "React"
|
|
501
|
+
*/
|
|
485
502
|
name?: string | Array<string>;
|
|
503
|
+
/**
|
|
504
|
+
* Path for the import
|
|
505
|
+
* @xample '@kubb/core'
|
|
506
|
+
*/
|
|
486
507
|
path: string;
|
|
508
|
+
/**
|
|
509
|
+
* Add `type` prefix to the export, this will result in: `export type { Type } from './path'`
|
|
510
|
+
*/
|
|
487
511
|
isTypeOnly?: boolean;
|
|
512
|
+
/**
|
|
513
|
+
* Make it possible to override the name, this will result in: `export * as aliasName from './path'`
|
|
514
|
+
*/
|
|
488
515
|
asAlias?: boolean;
|
|
489
516
|
};
|
|
490
517
|
const dataTagSymbol: unique symbol;
|
|
@@ -495,7 +522,15 @@ declare namespace KubbFile {
|
|
|
495
522
|
type Source = string;
|
|
496
523
|
type Extname = '.ts' | '.js' | '.tsx' | '.json' | `.${string}`;
|
|
497
524
|
type Mode = 'file' | 'directory';
|
|
525
|
+
/**
|
|
526
|
+
* Name to be used to dynamicly create the baseName(based on input.path)
|
|
527
|
+
* Based on UNIX basename
|
|
528
|
+
* @link https://nodejs.org/api/path.html#pathbasenamepath-suffix
|
|
529
|
+
*/
|
|
498
530
|
type BaseName = `${string}${Extname}`;
|
|
531
|
+
/**
|
|
532
|
+
* Path will be full qualified path to a specified file
|
|
533
|
+
*/
|
|
499
534
|
type Path = string;
|
|
500
535
|
type AdvancedPath<T extends BaseName = BaseName> = `${BasePath}${T}`;
|
|
501
536
|
type OptionalPath = Path | undefined | null;
|
|
@@ -527,11 +562,17 @@ declare namespace KubbFile {
|
|
|
527
562
|
* @default `false`
|
|
528
563
|
*/
|
|
529
564
|
override?: boolean;
|
|
565
|
+
/**
|
|
566
|
+
* Use extra meta, this is getting used to generate the barrel/index files.
|
|
567
|
+
*/
|
|
530
568
|
meta?: TMeta;
|
|
531
569
|
/**
|
|
532
570
|
* This will override `process.env[key]` inside the `source`, see `getFileSource`.
|
|
533
571
|
*/
|
|
534
572
|
env?: NodeJS.ProcessEnv;
|
|
573
|
+
/**
|
|
574
|
+
* @deprecated
|
|
575
|
+
*/
|
|
535
576
|
validate?: boolean;
|
|
536
577
|
};
|
|
537
578
|
type ResolvedFile<TMeta extends FileMetaBase = FileMetaBase, TBaseName extends BaseName = BaseName> = KubbFile.File<TMeta, TBaseName> & {
|
|
@@ -646,10 +687,10 @@ declare class PackageManager {
|
|
|
646
687
|
getPackageJSON(): Promise<PackageJSON | undefined>;
|
|
647
688
|
getPackageJSONSync(): PackageJSON | undefined;
|
|
648
689
|
static setVersion(dependency: DependencyName, version: DependencyVersion): void;
|
|
649
|
-
getVersion(dependency: DependencyName): Promise<DependencyVersion | undefined>;
|
|
650
|
-
getVersionSync(dependency: DependencyName): DependencyVersion | undefined;
|
|
651
|
-
isValid(dependency: DependencyName, version: DependencyVersion): Promise<boolean>;
|
|
652
|
-
isValidSync(dependency: DependencyName, version: DependencyVersion): boolean;
|
|
690
|
+
getVersion(dependency: DependencyName | RegExp): Promise<DependencyVersion | undefined>;
|
|
691
|
+
getVersionSync(dependency: DependencyName | RegExp): DependencyVersion | undefined;
|
|
692
|
+
isValid(dependency: DependencyName | RegExp, version: DependencyVersion): Promise<boolean>;
|
|
693
|
+
isValidSync(dependency: DependencyName | RegExp, version: DependencyVersion): boolean;
|
|
653
694
|
}
|
|
654
695
|
|
|
655
696
|
type KubbPluginFactory<T extends PluginFactoryOptions = PluginFactoryOptions> = (options: T['options']) => KubbUserPluginWithLifeCycle<T>;
|
package/dist/index.js
CHANGED
|
@@ -198,10 +198,13 @@ var URLPath = class {
|
|
|
198
198
|
params: this.getParams()
|
|
199
199
|
};
|
|
200
200
|
if (stringify) {
|
|
201
|
-
if (type
|
|
202
|
-
|
|
201
|
+
if (type === "template") {
|
|
202
|
+
return JSON.stringify(object).replaceAll("'", "").replaceAll(`"`, "");
|
|
203
203
|
}
|
|
204
|
-
|
|
204
|
+
if (object.params) {
|
|
205
|
+
return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll("'", "").replaceAll(`"`, "")} }`;
|
|
206
|
+
}
|
|
207
|
+
return `{ url: '${object.url}' }`;
|
|
205
208
|
}
|
|
206
209
|
return object;
|
|
207
210
|
}
|
|
@@ -1804,9 +1807,10 @@ var Generator = class {
|
|
|
1804
1807
|
};
|
|
1805
1808
|
_options3 = new WeakMap();
|
|
1806
1809
|
_context = new WeakMap();
|
|
1807
|
-
var _cache2, _cwd, _SLASHES;
|
|
1810
|
+
var _cache2, _cwd, _SLASHES, _match, match_fn;
|
|
1808
1811
|
var _PackageManager = class _PackageManager {
|
|
1809
1812
|
constructor(workspace) {
|
|
1813
|
+
__privateAdd(this, _match);
|
|
1810
1814
|
__privateAdd(this, _cwd, void 0);
|
|
1811
1815
|
__privateAdd(this, _SLASHES, /* @__PURE__ */ new Set(["/", "\\"]));
|
|
1812
1816
|
if (workspace) {
|
|
@@ -1869,24 +1873,24 @@ var _PackageManager = class _PackageManager {
|
|
|
1869
1873
|
__privateGet(_PackageManager, _cache2)[dependency] = version;
|
|
1870
1874
|
}
|
|
1871
1875
|
async getVersion(dependency) {
|
|
1872
|
-
if (__privateGet(_PackageManager, _cache2)[dependency]) {
|
|
1876
|
+
if (typeof dependency === "string" && __privateGet(_PackageManager, _cache2)[dependency]) {
|
|
1873
1877
|
return __privateGet(_PackageManager, _cache2)[dependency];
|
|
1874
1878
|
}
|
|
1875
1879
|
const packageJSON = await this.getPackageJSON();
|
|
1876
1880
|
if (!packageJSON) {
|
|
1877
1881
|
return void 0;
|
|
1878
1882
|
}
|
|
1879
|
-
return
|
|
1883
|
+
return __privateMethod(this, _match, match_fn).call(this, packageJSON, dependency);
|
|
1880
1884
|
}
|
|
1881
1885
|
getVersionSync(dependency) {
|
|
1882
|
-
if (__privateGet(_PackageManager, _cache2)[dependency]) {
|
|
1886
|
+
if (typeof dependency === "string" && __privateGet(_PackageManager, _cache2)[dependency]) {
|
|
1883
1887
|
return __privateGet(_PackageManager, _cache2)[dependency];
|
|
1884
1888
|
}
|
|
1885
1889
|
const packageJSON = this.getPackageJSONSync();
|
|
1886
1890
|
if (!packageJSON) {
|
|
1887
1891
|
return void 0;
|
|
1888
1892
|
}
|
|
1889
|
-
return
|
|
1893
|
+
return __privateMethod(this, _match, match_fn).call(this, packageJSON, dependency);
|
|
1890
1894
|
}
|
|
1891
1895
|
async isValid(dependency, version) {
|
|
1892
1896
|
const packageVersion = await this.getVersion(dependency);
|
|
@@ -1917,6 +1921,18 @@ var _PackageManager = class _PackageManager {
|
|
|
1917
1921
|
_cache2 = new WeakMap();
|
|
1918
1922
|
_cwd = new WeakMap();
|
|
1919
1923
|
_SLASHES = new WeakMap();
|
|
1924
|
+
_match = new WeakSet();
|
|
1925
|
+
match_fn = function(packageJSON, dependency) {
|
|
1926
|
+
const dependencies = {
|
|
1927
|
+
...packageJSON["dependencies"] || {},
|
|
1928
|
+
...packageJSON["devDependencies"] || {}
|
|
1929
|
+
};
|
|
1930
|
+
if (typeof dependency === "string" && dependencies[dependency]) {
|
|
1931
|
+
return dependencies[dependency];
|
|
1932
|
+
}
|
|
1933
|
+
const matchedDependency = Object.keys(dependencies).find((dep) => dep.match(dependency));
|
|
1934
|
+
return matchedDependency ? dependencies[matchedDependency] : void 0;
|
|
1935
|
+
};
|
|
1920
1936
|
__privateAdd(_PackageManager, _cache2, {});
|
|
1921
1937
|
var PackageManager = _PackageManager;
|
|
1922
1938
|
|