fragment-ts 1.0.34 → 1.0.35
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/API.md +248 -38
- package/DOCS.md +327 -63
- package/NewCLIGENERATECOMMANDS.txt +5 -0
- package/README.md +168 -3
- package/USAGE.md +395 -2
- package/dist/cli/commands/build.command.d.ts.map +1 -1
- package/dist/cli/commands/build.command.js +20 -8
- package/dist/cli/commands/build.command.js.map +1 -1
- package/dist/cli/commands/diagnostics.command.d.ts +1 -2
- package/dist/cli/commands/diagnostics.command.d.ts.map +1 -1
- package/dist/cli/commands/diagnostics.command.js +37 -23
- package/dist/cli/commands/diagnostics.command.js.map +1 -1
- package/dist/cli/commands/generate.command.d.ts +5 -1
- package/dist/cli/commands/generate.command.d.ts.map +1 -1
- package/dist/cli/commands/generate.command.js +171 -39
- package/dist/cli/commands/generate.command.js.map +1 -1
- package/dist/cli/commands/init.command.d.ts.map +1 -1
- package/dist/cli/commands/init.command.js +98 -28
- package/dist/cli/commands/init.command.js.map +1 -1
- package/dist/cli/commands/migrate.command.d.ts +10 -17
- package/dist/cli/commands/migrate.command.d.ts.map +1 -1
- package/dist/cli/commands/migrate.command.js +133 -170
- package/dist/cli/commands/migrate.command.js.map +1 -1
- package/dist/cli/commands/serve.command.d.ts.map +1 -1
- package/dist/cli/commands/serve.command.js +9 -4
- package/dist/cli/commands/serve.command.js.map +1 -1
- package/dist/cli/commands/test.command.d.ts.map +1 -1
- package/dist/cli/commands/test.command.js +24 -6
- package/dist/cli/commands/test.command.js.map +1 -1
- package/dist/core/scanner/component-scanner.d.ts +12 -0
- package/dist/core/scanner/component-scanner.d.ts.map +1 -1
- package/dist/core/scanner/component-scanner.js +72 -14
- package/dist/core/scanner/component-scanner.js.map +1 -1
- package/dist/shared/config.utils.d.ts +58 -0
- package/dist/shared/config.utils.d.ts.map +1 -0
- package/dist/shared/config.utils.js +137 -0
- package/dist/shared/config.utils.js.map +1 -0
- package/dist/shared/env.utils.d.ts +27 -0
- package/dist/shared/env.utils.d.ts.map +1 -0
- package/dist/shared/env.utils.js +68 -0
- package/dist/shared/env.utils.js.map +1 -0
- package/dist/shared/tsconfig.utils.d.ts +122 -0
- package/dist/shared/tsconfig.utils.d.ts.map +1 -0
- package/dist/shared/tsconfig.utils.js +305 -0
- package/dist/shared/tsconfig.utils.js.map +1 -0
- package/dist/testing/runner.d.ts +9 -1
- package/dist/testing/runner.d.ts.map +1 -1
- package/dist/testing/runner.js +50 -10
- package/dist/testing/runner.js.map +1 -1
- package/dist/typeorm/typeorm-module.d.ts +1 -0
- package/dist/typeorm/typeorm-module.d.ts.map +1 -1
- package/dist/typeorm/typeorm-module.js +193 -85
- package/dist/typeorm/typeorm-module.js.map +1 -1
- package/dist/web/application.d.ts +0 -1
- package/dist/web/application.d.ts.map +1 -1
- package/dist/web/application.js +4 -26
- package/dist/web/application.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/commands/build.command.ts +24 -9
- package/src/cli/commands/diagnostics.command.ts +42 -30
- package/src/cli/commands/generate.command.ts +212 -52
- package/src/cli/commands/init.command.ts +100 -29
- package/src/cli/commands/migrate.command.ts +145 -198
- package/src/cli/commands/serve.command.ts +181 -170
- package/src/cli/commands/test.command.ts +25 -11
- package/src/core/scanner/component-scanner.ts +100 -18
- package/src/shared/config.utils.ts +148 -0
- package/src/shared/env.utils.ts +72 -0
- package/src/shared/tsconfig.utils.ts +360 -0
- package/src/testing/runner.ts +62 -14
- package/src/typeorm/typeorm-module.ts +209 -86
- package/src/web/application.ts +4 -33
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
interface TsConfigCompilerOptions {
|
|
2
|
+
target?: string;
|
|
3
|
+
module?: string;
|
|
4
|
+
moduleResolution?: string;
|
|
5
|
+
outDir?: string;
|
|
6
|
+
rootDir?: string;
|
|
7
|
+
baseUrl?: string;
|
|
8
|
+
paths?: Record<string, string[]>;
|
|
9
|
+
declaration?: boolean;
|
|
10
|
+
sourceMap?: boolean;
|
|
11
|
+
removeComments?: boolean;
|
|
12
|
+
emitDecoratorMetadata?: boolean;
|
|
13
|
+
experimentalDecorators?: boolean;
|
|
14
|
+
allowSyntheticDefaultImports?: boolean;
|
|
15
|
+
esModuleInterop?: boolean;
|
|
16
|
+
strict?: boolean;
|
|
17
|
+
noImplicitAny?: boolean;
|
|
18
|
+
strictNullChecks?: boolean;
|
|
19
|
+
strictFunctionTypes?: boolean;
|
|
20
|
+
strictBindCallApply?: boolean;
|
|
21
|
+
strictPropertyInitialization?: boolean;
|
|
22
|
+
noImplicitThis?: boolean;
|
|
23
|
+
alwaysStrict?: boolean;
|
|
24
|
+
noUnusedLocals?: boolean;
|
|
25
|
+
noUnusedParameters?: boolean;
|
|
26
|
+
noImplicitReturns?: boolean;
|
|
27
|
+
noFallthroughCasesInSwitch?: boolean;
|
|
28
|
+
skipLibCheck?: boolean;
|
|
29
|
+
forceConsistentCasingInFileNames?: boolean;
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
}
|
|
32
|
+
interface TsConfig {
|
|
33
|
+
compilerOptions?: TsConfigCompilerOptions;
|
|
34
|
+
include?: string[];
|
|
35
|
+
exclude?: string[];
|
|
36
|
+
files?: string[];
|
|
37
|
+
references?: Array<{
|
|
38
|
+
path: string;
|
|
39
|
+
}>;
|
|
40
|
+
extends?: string;
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
}
|
|
43
|
+
export declare class TsConfigUtils {
|
|
44
|
+
private static configCache;
|
|
45
|
+
private static readonly DEFAULT_TSCONFIG_PATHS;
|
|
46
|
+
/**
|
|
47
|
+
* Load and parse tsconfig.json with caching
|
|
48
|
+
* @param configPath Optional custom path to tsconfig file
|
|
49
|
+
*/
|
|
50
|
+
private static loadConfig;
|
|
51
|
+
/**
|
|
52
|
+
* Load parent config when "extends" is used
|
|
53
|
+
*/
|
|
54
|
+
private static loadParentConfig;
|
|
55
|
+
/**
|
|
56
|
+
* Merge two tsconfig objects (child overrides parent)
|
|
57
|
+
*/
|
|
58
|
+
private static mergeConfigs;
|
|
59
|
+
/**
|
|
60
|
+
* Get the full tsconfig configuration
|
|
61
|
+
* @param configPath Optional custom path to tsconfig file
|
|
62
|
+
*/
|
|
63
|
+
static getFullConfig(configPath?: string): TsConfig;
|
|
64
|
+
/**
|
|
65
|
+
* Get compiler options from tsconfig
|
|
66
|
+
* @param configPath Optional custom path to tsconfig file
|
|
67
|
+
*/
|
|
68
|
+
static getCompilerOptions(configPath?: string): TsConfigCompilerOptions;
|
|
69
|
+
/**
|
|
70
|
+
* Get a specific compiler option value
|
|
71
|
+
* @param option The compiler option name
|
|
72
|
+
* @param defaultValue Default value if option is not set
|
|
73
|
+
* @param configPath Optional custom path to tsconfig file
|
|
74
|
+
*/
|
|
75
|
+
static getCompilerOption<T>(option: string, defaultValue: T, configPath?: string): T;
|
|
76
|
+
/**
|
|
77
|
+
* Check if a specific compiler option is enabled
|
|
78
|
+
* @param option The compiler option name
|
|
79
|
+
* @param configPath Optional custom path to tsconfig file
|
|
80
|
+
*/
|
|
81
|
+
static isCompilerOptionEnabled(option: string, configPath?: string): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Get the output directory (outDir) with proper resolution
|
|
84
|
+
* @param configPath Optional custom path to tsconfig file
|
|
85
|
+
*/
|
|
86
|
+
static getOutDir(configPath?: string): string;
|
|
87
|
+
/**
|
|
88
|
+
* Get the source root directory (rootDir) with proper resolution
|
|
89
|
+
* @param configPath Optional custom path to tsconfig file
|
|
90
|
+
*/
|
|
91
|
+
static getRootDir(configPath?: string): string;
|
|
92
|
+
/**
|
|
93
|
+
* Get include patterns
|
|
94
|
+
* @param configPath Optional custom path to tsconfig file
|
|
95
|
+
*/
|
|
96
|
+
static getIncludePatterns(configPath?: string): string[];
|
|
97
|
+
/**
|
|
98
|
+
* Get exclude patterns
|
|
99
|
+
* @param configPath Optional custom path to tsconfig file
|
|
100
|
+
*/
|
|
101
|
+
static getExcludePatterns(configPath?: string): string[];
|
|
102
|
+
/**
|
|
103
|
+
* Check if the project is configured for decorators (required for Fragment)
|
|
104
|
+
*/
|
|
105
|
+
static hasDecoratorSupport(configPath?: string): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Resolve a file path based on tsconfig baseUrl and paths
|
|
108
|
+
* @param importPath The import path to resolve
|
|
109
|
+
* @param configPath Optional custom path to tsconfig file
|
|
110
|
+
*/
|
|
111
|
+
static resolvePath(importPath: string, configPath?: string): string | null;
|
|
112
|
+
/**
|
|
113
|
+
* Clear the configuration cache (useful for testing)
|
|
114
|
+
*/
|
|
115
|
+
static clearCache(): void;
|
|
116
|
+
/**
|
|
117
|
+
* Check if tsconfig.json exists
|
|
118
|
+
*/
|
|
119
|
+
static exists(configPath?: string): boolean;
|
|
120
|
+
}
|
|
121
|
+
export {};
|
|
122
|
+
//# sourceMappingURL=tsconfig.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsconfig.utils.d.ts","sourceRoot":"","sources":["../../src/shared/tsconfig.utils.ts"],"names":[],"mappings":"AAKA,UAAU,uBAAuB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,UAAU,QAAQ;IAChB,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAyB;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAI5C;IAEF;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAuDzB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA4D/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAqB3B;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ;IAInD;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,uBAAuB;IAKvE;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,EACxB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,CAAC,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,CAAC;IASJ;;;;OAIG;IACH,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAK5E;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAK7C;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAO9C;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAKxD;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAKxD;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAOxD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAqC1E;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;IAIzB;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;CAY5C"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.TsConfigUtils = void 0;
|
|
37
|
+
// src/utils/tsconfig.utils.ts
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
class TsConfigUtils {
|
|
41
|
+
/**
|
|
42
|
+
* Load and parse tsconfig.json with caching
|
|
43
|
+
* @param configPath Optional custom path to tsconfig file
|
|
44
|
+
*/
|
|
45
|
+
static loadConfig(configPath) {
|
|
46
|
+
if (this.configCache) {
|
|
47
|
+
return this.configCache;
|
|
48
|
+
}
|
|
49
|
+
let finalConfigPath = null;
|
|
50
|
+
if (configPath) {
|
|
51
|
+
// Use provided path
|
|
52
|
+
finalConfigPath = path.isAbsolute(configPath)
|
|
53
|
+
? configPath
|
|
54
|
+
: path.join(process.cwd(), configPath);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// Try default paths
|
|
58
|
+
for (const defaultPath of this.DEFAULT_TSCONFIG_PATHS) {
|
|
59
|
+
const fullPath = path.join(process.cwd(), defaultPath);
|
|
60
|
+
if (fs.existsSync(fullPath)) {
|
|
61
|
+
finalConfigPath = fullPath;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (!finalConfigPath || !fs.existsSync(finalConfigPath)) {
|
|
67
|
+
this.configCache = {};
|
|
68
|
+
return this.configCache;
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
const raw = fs.readFileSync(finalConfigPath, "utf-8");
|
|
72
|
+
const parsed = JSON.parse(raw);
|
|
73
|
+
// Handle "extends" by merging parent config
|
|
74
|
+
if (parsed.extends) {
|
|
75
|
+
const parentConfig = this.loadParentConfig(parsed.extends, path.dirname(finalConfigPath));
|
|
76
|
+
this.configCache = this.mergeConfigs(parentConfig, parsed);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this.configCache = parsed;
|
|
80
|
+
}
|
|
81
|
+
if (!this.configCache) {
|
|
82
|
+
this.configCache = {};
|
|
83
|
+
}
|
|
84
|
+
return this.configCache;
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
console.error("❌ Error loading tsconfig.json:", error);
|
|
88
|
+
this.configCache = {};
|
|
89
|
+
return this.configCache;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Load parent config when "extends" is used
|
|
94
|
+
*/
|
|
95
|
+
static loadParentConfig(extendsPath, basePath) {
|
|
96
|
+
// Handle relative paths and node_modules
|
|
97
|
+
let parentPath;
|
|
98
|
+
if (extendsPath.startsWith(".")) {
|
|
99
|
+
// Relative path
|
|
100
|
+
parentPath = path.resolve(basePath, extendsPath);
|
|
101
|
+
if (!parentPath.endsWith(".json")) {
|
|
102
|
+
parentPath += ".json";
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else if (extendsPath.startsWith("/")) {
|
|
106
|
+
// Absolute path
|
|
107
|
+
parentPath = extendsPath;
|
|
108
|
+
if (!parentPath.endsWith(".json")) {
|
|
109
|
+
parentPath += ".json";
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
// Assume node_modules package
|
|
114
|
+
try {
|
|
115
|
+
// Try to resolve as a package
|
|
116
|
+
const packageJsonPath = require.resolve(`${extendsPath}/package.json`, {
|
|
117
|
+
paths: [basePath],
|
|
118
|
+
});
|
|
119
|
+
const packageDir = path.dirname(packageJsonPath);
|
|
120
|
+
parentPath = path.join(packageDir, "tsconfig.json");
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// Fallback to direct path
|
|
124
|
+
parentPath = path.join(basePath, "node_modules", extendsPath);
|
|
125
|
+
if (!parentPath.endsWith(".json")) {
|
|
126
|
+
parentPath += ".json";
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (fs.existsSync(parentPath)) {
|
|
131
|
+
try {
|
|
132
|
+
const raw = fs.readFileSync(parentPath, "utf-8");
|
|
133
|
+
const parsed = JSON.parse(raw);
|
|
134
|
+
// Recursively handle extends in parent
|
|
135
|
+
if (parsed.extends) {
|
|
136
|
+
const grandParent = this.loadParentConfig(parsed.extends, path.dirname(parentPath));
|
|
137
|
+
return this.mergeConfigs(grandParent, parsed);
|
|
138
|
+
}
|
|
139
|
+
return parsed;
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
console.warn(`⚠️ Could not load parent tsconfig: ${extendsPath}`);
|
|
143
|
+
return {};
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return {};
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Merge two tsconfig objects (child overrides parent)
|
|
150
|
+
*/
|
|
151
|
+
static mergeConfigs(parent, child) {
|
|
152
|
+
const result = { ...parent };
|
|
153
|
+
// Merge compilerOptions
|
|
154
|
+
if (parent.compilerOptions || child.compilerOptions) {
|
|
155
|
+
result.compilerOptions = {
|
|
156
|
+
...parent.compilerOptions,
|
|
157
|
+
...child.compilerOptions,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
// Override other top-level properties
|
|
161
|
+
for (const key in child) {
|
|
162
|
+
if (key !== "compilerOptions") {
|
|
163
|
+
result[key] = child[key];
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return result;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Get the full tsconfig configuration
|
|
170
|
+
* @param configPath Optional custom path to tsconfig file
|
|
171
|
+
*/
|
|
172
|
+
static getFullConfig(configPath) {
|
|
173
|
+
return this.loadConfig(configPath);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Get compiler options from tsconfig
|
|
177
|
+
* @param configPath Optional custom path to tsconfig file
|
|
178
|
+
*/
|
|
179
|
+
static getCompilerOptions(configPath) {
|
|
180
|
+
const config = this.loadConfig(configPath);
|
|
181
|
+
return config.compilerOptions || {};
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Get a specific compiler option value
|
|
185
|
+
* @param option The compiler option name
|
|
186
|
+
* @param defaultValue Default value if option is not set
|
|
187
|
+
* @param configPath Optional custom path to tsconfig file
|
|
188
|
+
*/
|
|
189
|
+
static getCompilerOption(option, defaultValue, configPath) {
|
|
190
|
+
const compilerOptions = this.getCompilerOptions(configPath);
|
|
191
|
+
return (compilerOptions[option] !== undefined
|
|
192
|
+
? compilerOptions[option]
|
|
193
|
+
: defaultValue);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Check if a specific compiler option is enabled
|
|
197
|
+
* @param option The compiler option name
|
|
198
|
+
* @param configPath Optional custom path to tsconfig file
|
|
199
|
+
*/
|
|
200
|
+
static isCompilerOptionEnabled(option, configPath) {
|
|
201
|
+
const value = this.getCompilerOption(option, false, configPath);
|
|
202
|
+
return Boolean(value);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Get the output directory (outDir) with proper resolution
|
|
206
|
+
* @param configPath Optional custom path to tsconfig file
|
|
207
|
+
*/
|
|
208
|
+
static getOutDir(configPath) {
|
|
209
|
+
const outDir = this.getCompilerOption("outDir", "dist", configPath);
|
|
210
|
+
return path.isAbsolute(outDir) ? outDir : path.join(process.cwd(), outDir);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Get the source root directory (rootDir) with proper resolution
|
|
214
|
+
* @param configPath Optional custom path to tsconfig file
|
|
215
|
+
*/
|
|
216
|
+
static getRootDir(configPath) {
|
|
217
|
+
const rootDir = this.getCompilerOption("rootDir", "src", configPath);
|
|
218
|
+
return path.isAbsolute(rootDir)
|
|
219
|
+
? rootDir
|
|
220
|
+
: path.join(process.cwd(), rootDir);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get include patterns
|
|
224
|
+
* @param configPath Optional custom path to tsconfig file
|
|
225
|
+
*/
|
|
226
|
+
static getIncludePatterns(configPath) {
|
|
227
|
+
const config = this.loadConfig(configPath);
|
|
228
|
+
return config.include || ["src/**/*"];
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Get exclude patterns
|
|
232
|
+
* @param configPath Optional custom path to tsconfig file
|
|
233
|
+
*/
|
|
234
|
+
static getExcludePatterns(configPath) {
|
|
235
|
+
const config = this.loadConfig(configPath);
|
|
236
|
+
return config.exclude || ["node_modules", "**/*.spec.ts"];
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Check if the project is configured for decorators (required for Fragment)
|
|
240
|
+
*/
|
|
241
|
+
static hasDecoratorSupport(configPath) {
|
|
242
|
+
return (this.isCompilerOptionEnabled("experimentalDecorators", configPath) &&
|
|
243
|
+
this.isCompilerOptionEnabled("emitDecoratorMetadata", configPath));
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Resolve a file path based on tsconfig baseUrl and paths
|
|
247
|
+
* @param importPath The import path to resolve
|
|
248
|
+
* @param configPath Optional custom path to tsconfig file
|
|
249
|
+
*/
|
|
250
|
+
static resolvePath(importPath, configPath) {
|
|
251
|
+
const compilerOptions = this.getCompilerOptions(configPath);
|
|
252
|
+
// Handle absolute paths starting with baseUrl
|
|
253
|
+
if (compilerOptions.baseUrl &&
|
|
254
|
+
importPath.startsWith(compilerOptions.baseUrl)) {
|
|
255
|
+
return path.join(process.cwd(), importPath);
|
|
256
|
+
}
|
|
257
|
+
// Handle path mappings
|
|
258
|
+
if (compilerOptions.paths && compilerOptions.baseUrl) {
|
|
259
|
+
const baseUrl = path.isAbsolute(compilerOptions.baseUrl)
|
|
260
|
+
? compilerOptions.baseUrl
|
|
261
|
+
: path.join(process.cwd(), compilerOptions.baseUrl);
|
|
262
|
+
for (const [pattern, paths] of Object.entries(compilerOptions.paths)) {
|
|
263
|
+
// Convert pattern like "@app/*" to regex
|
|
264
|
+
const regexPattern = pattern.replace(/\*/g, "(.*)");
|
|
265
|
+
const regex = new RegExp(`^${regexPattern}$`);
|
|
266
|
+
const match = importPath.match(regex);
|
|
267
|
+
if (match) {
|
|
268
|
+
const replacement = match[1] || "";
|
|
269
|
+
if (paths[0]) {
|
|
270
|
+
const resolvedPath = paths[0].replace("*", replacement);
|
|
271
|
+
return path.join(baseUrl, resolvedPath);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
// Return null if cannot resolve
|
|
277
|
+
return null;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Clear the configuration cache (useful for testing)
|
|
281
|
+
*/
|
|
282
|
+
static clearCache() {
|
|
283
|
+
this.configCache = null;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Check if tsconfig.json exists
|
|
287
|
+
*/
|
|
288
|
+
static exists(configPath) {
|
|
289
|
+
if (configPath) {
|
|
290
|
+
const fullPath = path.isAbsolute(configPath)
|
|
291
|
+
? configPath
|
|
292
|
+
: path.join(process.cwd(), configPath);
|
|
293
|
+
return fs.existsSync(fullPath);
|
|
294
|
+
}
|
|
295
|
+
return this.DEFAULT_TSCONFIG_PATHS.some((defaultPath) => fs.existsSync(path.join(process.cwd(), defaultPath)));
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
exports.TsConfigUtils = TsConfigUtils;
|
|
299
|
+
TsConfigUtils.configCache = null;
|
|
300
|
+
TsConfigUtils.DEFAULT_TSCONFIG_PATHS = [
|
|
301
|
+
"tsconfig.json",
|
|
302
|
+
"tsconfig.build.json",
|
|
303
|
+
"tsconfig.app.json",
|
|
304
|
+
];
|
|
305
|
+
//# sourceMappingURL=tsconfig.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsconfig.utils.js","sourceRoot":"","sources":["../../src/shared/tsconfig.utils.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/runner.d.ts
CHANGED
|
@@ -13,9 +13,17 @@ export declare class TestRunner {
|
|
|
13
13
|
private passed;
|
|
14
14
|
private failed;
|
|
15
15
|
private errors;
|
|
16
|
+
private verbose;
|
|
17
|
+
constructor(options?: {
|
|
18
|
+
verbose?: boolean;
|
|
19
|
+
});
|
|
16
20
|
describe(name: string, fn: () => void): void;
|
|
17
21
|
run(): Promise<void>;
|
|
18
22
|
loadTestFiles(pattern: string): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Auto-detect test patterns based on environment and configuration
|
|
25
|
+
*/
|
|
26
|
+
getAutoTestPattern(): string;
|
|
19
27
|
}
|
|
20
28
|
export declare function getTestRunner(): TestRunner;
|
|
21
29
|
export declare function initTestRunner(): TestRunner;
|
|
@@ -28,7 +36,7 @@ export declare function expect(actual: any): {
|
|
|
28
36
|
toEqual(expected: any): void;
|
|
29
37
|
toBeTruthy(): void;
|
|
30
38
|
toBeFalsy(): void;
|
|
31
|
-
toThrow(expectedError?: string): void;
|
|
39
|
+
toThrow(expectedError?: string | RegExp): void;
|
|
32
40
|
toBeInstanceOf(expected: any): void;
|
|
33
41
|
toContain(expected: any): void;
|
|
34
42
|
toHaveProperty(property: string, value?: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/testing/runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/testing/runner.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,eAAe,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,cAAc,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAKD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,MAAM,CAKN;IACR,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO;IAI/C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAiCtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA4EpB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BnD;;OAEG;IACH,kBAAkB,IAAI,MAAM;CAa7B;AAOD,wBAAgB,aAAa,IAAI,UAAU,CAY1C;AAED,wBAAgB,cAAc,IAAI,UAAU,CAE3C;AAkBD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAa3D;AAED,wBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAKrE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAK/D;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAK9D;AAKD,wBAAgB,MAAM,CAAC,MAAM,EAAE,GAAG;mBAEf,GAAG;sBAMA,GAAG;;;4BAoBG,MAAM,GAAG,MAAM;6BAmCd,GAAG;wBAMR,GAAG;6BAUE,MAAM,UAAU,GAAG;;;2BAwBrB,MAAM;EAUhC"}
|
package/dist/testing/runner.js
CHANGED
|
@@ -43,16 +43,20 @@ exports.afterEach = afterEach;
|
|
|
43
43
|
exports.expect = expect;
|
|
44
44
|
const path = __importStar(require("path"));
|
|
45
45
|
const glob_1 = require("glob");
|
|
46
|
+
const env_utils_1 = require("../shared/env.utils");
|
|
47
|
+
const tsconfig_utils_1 = require("../shared/tsconfig.utils");
|
|
46
48
|
const G = global;
|
|
47
49
|
/* ======================================================
|
|
48
50
|
* Test Runner
|
|
49
51
|
* ====================================================== */
|
|
50
52
|
class TestRunner {
|
|
51
|
-
constructor() {
|
|
53
|
+
constructor(options = {}) {
|
|
52
54
|
this.suites = [];
|
|
53
55
|
this.passed = 0;
|
|
54
56
|
this.failed = 0;
|
|
55
57
|
this.errors = [];
|
|
58
|
+
this.verbose = false;
|
|
59
|
+
this.verbose = options.verbose ?? false;
|
|
56
60
|
}
|
|
57
61
|
describe(name, fn) {
|
|
58
62
|
const suite = {
|
|
@@ -108,7 +112,15 @@ class TestRunner {
|
|
|
108
112
|
}
|
|
109
113
|
catch (error) {
|
|
110
114
|
console.log(` ✗ ${test.name}`);
|
|
111
|
-
|
|
115
|
+
if (this.verbose || process.env.DEBUG === "true") {
|
|
116
|
+
console.error(` ${error?.message ?? error}`);
|
|
117
|
+
if (error?.stack) {
|
|
118
|
+
console.error(` Stack: ${error.stack.split("\n").slice(1, 3).join("\n")}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
console.error(` ${error?.message ?? error}`);
|
|
123
|
+
}
|
|
112
124
|
this.failed++;
|
|
113
125
|
this.errors.push({
|
|
114
126
|
suite: suite.name,
|
|
@@ -127,11 +139,11 @@ class TestRunner {
|
|
|
127
139
|
console.log(` ${err.suite} > ${err.test}`);
|
|
128
140
|
console.log(` ${err.error}\n`);
|
|
129
141
|
});
|
|
130
|
-
process.
|
|
142
|
+
process.exitCode = 1;
|
|
131
143
|
}
|
|
132
144
|
else {
|
|
133
145
|
console.log("✅ All tests passed!\n");
|
|
134
|
-
process.
|
|
146
|
+
process.exitCode = 0;
|
|
135
147
|
}
|
|
136
148
|
}
|
|
137
149
|
async loadTestFiles(pattern) {
|
|
@@ -156,6 +168,22 @@ class TestRunner {
|
|
|
156
168
|
}
|
|
157
169
|
}
|
|
158
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* Auto-detect test patterns based on environment and configuration
|
|
173
|
+
*/
|
|
174
|
+
getAutoTestPattern() {
|
|
175
|
+
const isDevMode = env_utils_1.EnvUtils.isDevelopmentMode();
|
|
176
|
+
if (isDevMode) {
|
|
177
|
+
// Development mode - use TypeScript
|
|
178
|
+
const srcDir = tsconfig_utils_1.TsConfigUtils.getRootDir();
|
|
179
|
+
return `${path.relative(process.cwd(), srcDir)}/**/*.spec.ts`;
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
// Production mode - use JavaScript
|
|
183
|
+
const outDir = tsconfig_utils_1.TsConfigUtils.getOutDir();
|
|
184
|
+
return `${path.relative(process.cwd(), outDir)}/**/*.spec.js`;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
159
187
|
}
|
|
160
188
|
exports.TestRunner = TestRunner;
|
|
161
189
|
/* ======================================================
|
|
@@ -164,7 +192,11 @@ exports.TestRunner = TestRunner;
|
|
|
164
192
|
let runnerInstance = null;
|
|
165
193
|
function getTestRunner() {
|
|
166
194
|
if (!runnerInstance) {
|
|
167
|
-
|
|
195
|
+
// Check for verbose mode
|
|
196
|
+
const verbose = process.env.TEST_VERBOSE === "true" ||
|
|
197
|
+
process.argv.includes("--verbose") ||
|
|
198
|
+
process.argv.includes("-v");
|
|
199
|
+
runnerInstance = new TestRunner({ verbose });
|
|
168
200
|
G.__testRunner = runnerInstance;
|
|
169
201
|
}
|
|
170
202
|
return runnerInstance;
|
|
@@ -256,8 +288,17 @@ function expect(actual) {
|
|
|
256
288
|
if (!threw) {
|
|
257
289
|
throw new Error("Expected function to throw an error");
|
|
258
290
|
}
|
|
259
|
-
if (expectedError
|
|
260
|
-
|
|
291
|
+
if (expectedError) {
|
|
292
|
+
if (typeof expectedError === "string") {
|
|
293
|
+
if (error?.message !== expectedError) {
|
|
294
|
+
throw new Error(`Expected error message "${expectedError}" but got "${error?.message}"`);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
else if (expectedError instanceof RegExp) {
|
|
298
|
+
if (!expectedError.test(error?.message)) {
|
|
299
|
+
throw new Error(`Expected error message to match ${expectedError}, but got "${error?.message}"`);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
261
302
|
}
|
|
262
303
|
},
|
|
263
304
|
toBeInstanceOf(expected) {
|
|
@@ -308,9 +349,8 @@ if (require.main === module) {
|
|
|
308
349
|
(async () => {
|
|
309
350
|
try {
|
|
310
351
|
const runner = getTestRunner();
|
|
311
|
-
//
|
|
312
|
-
const
|
|
313
|
-
const pattern = isTsNode ? "src/**/*.spec.ts" : "dist/**/*.spec.js";
|
|
352
|
+
// Use auto-detection instead of hardcoded patterns
|
|
353
|
+
const pattern = runner.getAutoTestPattern();
|
|
314
354
|
await runner.loadTestFiles(pattern);
|
|
315
355
|
await runner.run();
|
|
316
356
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/testing/runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/testing/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ export declare class TypeORMModule {
|
|
|
43
43
|
private static buildExpoConfig;
|
|
44
44
|
private static buildCapacitorConfig;
|
|
45
45
|
private static loadFileConfig;
|
|
46
|
+
private static isDevelopmentMode;
|
|
46
47
|
static getDataSource(): DataSource;
|
|
47
48
|
static runMigrations(): Promise<void>;
|
|
48
49
|
static revertMigration(): Promise<void>;
|