Files

Return to Package Diff Home.
Brought to you by Intrinsic.

Package Diff: ts-jest @ 24.0.0 .. 24.0.2

CHANGELOG.md

@@ -1,3 +1,23 @@
+<a name="24.0.2"></a>
+## [24.0.2](https://github.com/kulshekhar/ts-jest/compare/v24.0.1...v24.0.2) (2019-04-05)
+
+
+
+<a name="24.0.1"></a>
+## [24.0.1](https://github.com/kulshekhar/ts-jest/compare/v24.0.0...v24.0.1) (2019-03-30)
+
+
+### Bug Fixes
+
+* update call to globIgnore ([#1002](https://github.com/kulshekhar/ts-jest/issues/1002)) ([#1003](https://github.com/kulshekhar/ts-jest/issues/1003)) ([05b63af](https://github.com/kulshekhar/ts-jest/commit/05b63af))
+
+
+### Features
+
+* **config:** specify package.json location ([#823](https://github.com/kulshekhar/ts-jest/issues/823)) ([#1013](https://github.com/kulshekhar/ts-jest/issues/1013)) ([fb7dd55](https://github.com/kulshekhar/ts-jest/commit/fb7dd55))
+
+
+
<a name="24.0.0"></a>
# [24.0.0](https://github.com/kulshekhar/ts-jest/compare/v23.10.5...v24.0.0) (2019-02-18)

dist/config/config-set.d.ts

@@ -11,6 +11,7 @@
readonly typescript: ParsedCommandLine;
readonly tsconfig: any;
readonly versions: Record<string, string>;
+ private static loadConfig;
readonly babel: BabelConfig | undefined;
readonly compilerModule: TTypeScript;
readonly babelJestTransformer: BabelJestTransformer | undefined;

dist/config/config-set.js

@@ -134,19 +134,31 @@
}
Object.defineProperty(ConfigSet.prototype, "projectPackageJson", {
get: function () {
+ var packageJson = this.tsJest.packageJson;
+ if (packageJson && packageJson.kind === 'inline') {
+ return packageJson.value;
+ }
+ if (packageJson && packageJson.kind === 'file' && packageJson.value) {
+ var path = this.resolvePath(packageJson.value);
+ if (fs_1.existsSync(path)) {
+ return require(path);
+ }
+ this.logger.warn(messages_1.Errors.UnableToFindProjectRoot);
+ return {};
+ }
var tsJestRoot = path_1.resolve(__dirname, '..', '..');
var pkgPath = path_1.resolve(tsJestRoot, '..', '..', 'package.json');
- var exists = fs_1.existsSync(pkgPath);
- if (!exists) {
+ if (fs_1.existsSync(pkgPath)) {
+ return require(pkgPath);
+ }
if (fs_1.realpathSync(this.rootDir) === fs_1.realpathSync(tsJestRoot)) {
pkgPath = path_1.resolve(tsJestRoot, 'package.json');
- exists = true;
- }
- else {
- this.logger.warn(messages_1.Errors.UnableToFindProjectRoot);
+ if (fs_1.existsSync(pkgPath)) {
+ return require(pkgPath);
}
}
- return exists ? require(pkgPath) : {};
+ this.logger.warn(messages_1.Errors.UnableToFindProjectRoot);
+ return {};
},
enumerable: true,
configurable: true
@@ -198,6 +210,20 @@
value: tsConfigOpt,
};
}
+ var packageJsonOpt = options.packageJson;
+ var packageJson;
+ if (typeof packageJsonOpt === 'string' || packageJsonOpt == null || packageJsonOpt === true) {
+ packageJson = {
+ kind: 'file',
+ value: typeof packageJsonOpt === 'string' ? this.resolvePath(packageJsonOpt) : undefined,
+ };
+ }
+ else if (typeof packageJsonOpt === 'object') {
+ packageJson = {
+ kind: 'inline',
+ value: packageJsonOpt,
+ };
+ }
var transformers = (options.astTransformers || []).map(function (mod) { return _this.resolvePath(mod, { nodeResolve: true }); });
var babelConfigOpt = options.babelConfig;
var babelConfig;
@@ -240,6 +266,7 @@
var stringifyContentPathRegex = normalizeRegex(options.stringifyContentPathRegex);
var res = {
tsConfig: tsConfig,
+ packageJson: packageJson,
babelConfig: babelConfig,
diagnostics: diagnostics,
isolatedModules: !!options.isolatedModules,
@@ -313,6 +340,19 @@
enumerable: true,
configurable: true
});
+ ConfigSet.loadConfig = function (base) {
+ var _a = importer_1.importer.babelCore(messages_1.ImportReasons.BabelJest), OptionManager = _a.OptionManager, loadPartialConfig = _a.loadPartialConfig, version = _a.version;
+ if (version && semver_1.default.satisfies(version, '>=6 <7')) {
+ delete base.cwd;
+ }
+ if (typeof loadPartialConfig === 'function') {
+ var partialConfig = loadPartialConfig(base);
+ if (partialConfig) {
+ return partialConfig.options;
+ }
+ }
+ return new OptionManager().init(base);
+ };
Object.defineProperty(ConfigSet.prototype, "babel", {
get: function () {
var babelConfig = this.tsJest.babelConfig;
@@ -329,17 +369,7 @@
else if (babelConfig.kind === 'inline') {
base = __assign({}, base, babelConfig.value);
}
- var _a = importer_1.importer.babelCore(messages_1.ImportReasons.BabelJest), OptionManager = _a.OptionManager, loadOptions = _a.loadOptions, version = _a.version;
- if (version && semver_1.default.satisfies(version, '>=6 <7')) {
- delete base.cwd;
- }
- var config;
- if (typeof loadOptions === 'function') {
- config = loadOptions(base);
- }
- else {
- config = new OptionManager().init(base);
- }
+ var config = ConfigSet.loadConfig(base);
this.logger.debug({ babelConfig: config }, 'normalized babel config');
return config;
},

dist/types.d.ts

@@ -11,6 +11,7 @@
export declare type BabelConfig = _babel.TransformOptions;
export interface TsJestGlobalOptions {
tsConfig?: boolean | string | CompilerOptions;
+ packageJson?: boolean | string | object;
isolatedModules?: boolean;
compiler?: string;
astTransformers?: string[];
@@ -47,9 +48,19 @@
value: BabelConfig;
}
declare type TsJestConfig$babelConfig = TsJestConfig$babelConfig$file | TsJestConfig$babelConfig$inline | undefined;
+interface TsJestConfig$packageJson$file {
+ kind: 'file';
+ value: string | undefined;
+}
+interface TsJestConfig$packageJson$inline {
+ kind: 'inline';
+ value: any;
+}
+declare type TsJestConfig$packageJson = TsJestConfig$packageJson$file | TsJestConfig$packageJson$inline | undefined;
declare type TsJestConfig$stringifyContentPathRegex = string | undefined;
export interface TsJestConfig {
tsConfig: TsJestConfig$tsConfig;
+ packageJson: TsJestConfig$packageJson;
isolatedModules: boolean;
compiler: string;
diagnostics: TsJestConfig$diagnostics;

dist/util/testing.d.ts

@@ -1,35 +1,34 @@
/// <reference types="jest" />
-interface MockWithArgs<T> extends Function, jest.MockInstance<T> {
- new (...args: ArgumentsOf<T>): T;
- (...args: ArgumentsOf<T>): any;
-}
+declare type MockableFunction = (...args: any[]) => any;
declare type MethodKeysOf<T> = {
- [K in keyof T]: T[K] extends Function ? K : never;
+ [K in keyof T]: T[K] extends MockableFunction ? K : never;
}[keyof T];
declare type PropertyKeysOf<T> = {
- [K in keyof T]: T[K] extends Function ? never : K;
+ [K in keyof T]: T[K] extends MockableFunction ? never : K;
}[keyof T];
declare type ArgumentsOf<T> = T extends (...args: infer A) => any ? A : never;
-interface MockWithArgs<T> extends Function, jest.MockInstance<T> {
- new (...args: ArgumentsOf<T>): T;
- (...args: ArgumentsOf<T>): any;
+declare type ConstructorArgumentsOf<T> = T extends new (...args: infer A) => any ? A : never;
+interface MockWithArgs<T extends MockableFunction> extends jest.MockInstance<ReturnType<T>, ArgumentsOf<T>> {
+ new (...args: ConstructorArgumentsOf<T>): T;
+ (...args: ArgumentsOf<T>): ReturnType<T>;
}
-declare type MockedFunction<T> = MockWithArgs<T> & {
+declare type MaybeMockedConstructor<T> = T extends new (...args: any[]) => infer R ? jest.MockInstance<R, ConstructorArgumentsOf<T>> : {};
+declare type MockedFunction<T extends MockableFunction> = MockWithArgs<T> & {
[K in keyof T]: T[K];
};
-declare type MockedFunctionDeep<T> = MockWithArgs<T> & MockedObjectDeep<T>;
-declare type MockedObject<T> = {
- [K in MethodKeysOf<T>]: MockedFunction<T[K]>;
+declare type MockedFunctionDeep<T extends MockableFunction> = MockWithArgs<T> & MockedObjectDeep<T>;
+declare type MockedObject<T> = MaybeMockedConstructor<T> & {
+ [K in MethodKeysOf<T>]: T[K] extends MockableFunction ? MockedFunction<T[K]> : T[K];
} & {
[K in PropertyKeysOf<T>]: T[K];
};
-declare type MockedObjectDeep<T> = {
- [K in MethodKeysOf<T>]: MockedFunctionDeep<T[K]>;
+declare type MockedObjectDeep<T> = MaybeMockedConstructor<T> & {
+ [K in MethodKeysOf<T>]: T[K] extends MockableFunction ? MockedFunctionDeep<T[K]> : T[K];
} & {
[K in PropertyKeysOf<T>]: MaybeMockedDeep<T[K]>;
};
-export declare type MaybeMockedDeep<T> = T extends Function ? MockedFunctionDeep<T> : T extends object ? MockedObjectDeep<T> : T;
-export declare type MaybeMocked<T> = T extends Function ? MockedFunction<T> : T extends object ? MockedObject<T> : T;
+export declare type MaybeMockedDeep<T> = T extends MockableFunction ? MockedFunctionDeep<T> : T extends object ? MockedObjectDeep<T> : T;
+export declare type MaybeMocked<T> = T extends MockableFunction ? MockedFunction<T> : T extends object ? MockedObject<T> : T;
export declare function mocked<T>(item: T, deep?: false): MaybeMocked<T>;
export declare function mocked<T>(item: T, deep: true): MaybeMockedDeep<T>;
export {};

package.json

@@ -1,6 +1,6 @@
{
"name": "ts-jest",
- "version": "24.0.0",
+ "version": "24.0.2",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"bin": "cli.js",

README.md

@@ -46,7 +46,7 @@
## Versioning
-We **DO NOT** use [SemVer](http://semver.org/) for versioning. Tho you can think about SemVer when reading our version, except our major number follow the one of Jest. For the versions available, see the [tags on this repository](https://github.com/kulshekhar/ts-jest/tags).
+We **DO NOT** use [SemVer](http://semver.org/) for versioning. Tho you can think about SemVer when reading our version, except our major number follows the one of Jest. For the versions available, see the [tags on this repository](https://github.com/kulshekhar/ts-jest/tags).
## Authors/maintainers

.ts-jest-digest

@@ -1 +1 @@
-a088f4bb81d7f5f72d2907fcf9d998cc1aa136a8
\ No newline at end of file
+0aceab77a1f613fedb22a0395a65327e834ef35c
\ No newline at end of file