@kubb/core 2.0.0-alpha.5 → 2.0.0-alpha.6
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 +18 -5
- 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 +18 -5
- package/dist/index.js.map +1 -1
- package/dist/utils.cjs.map +1 -1
- 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/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
|
@@ -1804,9 +1804,10 @@ var Generator = class {
|
|
|
1804
1804
|
};
|
|
1805
1805
|
_options3 = new WeakMap();
|
|
1806
1806
|
_context = new WeakMap();
|
|
1807
|
-
var _cache2, _cwd, _SLASHES;
|
|
1807
|
+
var _cache2, _cwd, _SLASHES, _match, match_fn;
|
|
1808
1808
|
var _PackageManager = class _PackageManager {
|
|
1809
1809
|
constructor(workspace) {
|
|
1810
|
+
__privateAdd(this, _match);
|
|
1810
1811
|
__privateAdd(this, _cwd, void 0);
|
|
1811
1812
|
__privateAdd(this, _SLASHES, /* @__PURE__ */ new Set(["/", "\\"]));
|
|
1812
1813
|
if (workspace) {
|
|
@@ -1869,24 +1870,24 @@ var _PackageManager = class _PackageManager {
|
|
|
1869
1870
|
__privateGet(_PackageManager, _cache2)[dependency] = version;
|
|
1870
1871
|
}
|
|
1871
1872
|
async getVersion(dependency) {
|
|
1872
|
-
if (__privateGet(_PackageManager, _cache2)[dependency]) {
|
|
1873
|
+
if (typeof dependency === "string" && __privateGet(_PackageManager, _cache2)[dependency]) {
|
|
1873
1874
|
return __privateGet(_PackageManager, _cache2)[dependency];
|
|
1874
1875
|
}
|
|
1875
1876
|
const packageJSON = await this.getPackageJSON();
|
|
1876
1877
|
if (!packageJSON) {
|
|
1877
1878
|
return void 0;
|
|
1878
1879
|
}
|
|
1879
|
-
return
|
|
1880
|
+
return __privateMethod(this, _match, match_fn).call(this, packageJSON, dependency);
|
|
1880
1881
|
}
|
|
1881
1882
|
getVersionSync(dependency) {
|
|
1882
|
-
if (__privateGet(_PackageManager, _cache2)[dependency]) {
|
|
1883
|
+
if (typeof dependency === "string" && __privateGet(_PackageManager, _cache2)[dependency]) {
|
|
1883
1884
|
return __privateGet(_PackageManager, _cache2)[dependency];
|
|
1884
1885
|
}
|
|
1885
1886
|
const packageJSON = this.getPackageJSONSync();
|
|
1886
1887
|
if (!packageJSON) {
|
|
1887
1888
|
return void 0;
|
|
1888
1889
|
}
|
|
1889
|
-
return
|
|
1890
|
+
return __privateMethod(this, _match, match_fn).call(this, packageJSON, dependency);
|
|
1890
1891
|
}
|
|
1891
1892
|
async isValid(dependency, version) {
|
|
1892
1893
|
const packageVersion = await this.getVersion(dependency);
|
|
@@ -1917,6 +1918,18 @@ var _PackageManager = class _PackageManager {
|
|
|
1917
1918
|
_cache2 = new WeakMap();
|
|
1918
1919
|
_cwd = new WeakMap();
|
|
1919
1920
|
_SLASHES = new WeakMap();
|
|
1921
|
+
_match = new WeakSet();
|
|
1922
|
+
match_fn = function(packageJSON, dependency) {
|
|
1923
|
+
const dependencies = {
|
|
1924
|
+
...packageJSON["dependencies"] || {},
|
|
1925
|
+
...packageJSON["devDependencies"] || {}
|
|
1926
|
+
};
|
|
1927
|
+
if (typeof dependency === "string" && dependencies[dependency]) {
|
|
1928
|
+
return dependencies[dependency];
|
|
1929
|
+
}
|
|
1930
|
+
const matchedDependency = Object.keys(dependencies).find((dep) => dep.match(dependency));
|
|
1931
|
+
return matchedDependency ? dependencies[matchedDependency] : void 0;
|
|
1932
|
+
};
|
|
1920
1933
|
__privateAdd(_PackageManager, _cache2, {});
|
|
1921
1934
|
var PackageManager = _PackageManager;
|
|
1922
1935
|
|