diff --git a/types/enhanced-resolve/index.d.ts b/types/enhanced-resolve/index.d.ts index d773f52b16..aa85a8336f 100644 --- a/types/enhanced-resolve/index.d.ts +++ b/types/enhanced-resolve/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for enhanced-resolve v3.0.0 // Project: http://github.com/webpack/enhanced-resolve.git -// Definitions by: e-cloud +// Definitions by: e-cloud , Onigoetz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// @@ -8,7 +8,6 @@ import fs = require('fs'); import { - ResolveResult, LoggingCallbackWrapper, ResolverRequest, ResolveContext, @@ -19,31 +18,35 @@ import Resolver = require('./lib/Resolver'); import Tapable = require('tapable'); declare namespace Resolve { - function sync(path: string, request: string): ResolveResult; - function sync(context: ResolveContext, path: string, request: string): ResolveResult; + function sync(path: string, request: string): string; + function sync(context: ResolveContext, path: string, request: string): string; function context(path: string, request: string, callback: LoggingCallbackWrapper): void; function context(context: ResolveContext, path: string, request: string, callback: LoggingCallbackWrapper): void; namespace context { - function sync(path: string, request: string): ResolveResult; - function sync(context: ResolveContext, path: string, request: string): ResolveResult; + function sync(path: string, request: string): string; + function sync(context: ResolveContext, path: string, request: string): string; } function loader(path: string, request: string, callback: LoggingCallbackWrapper): void; function loader(context: ResolveContext, path: string, request: string, callback: LoggingCallbackWrapper): void; - namespace context { - function sync(path: string, request: string): ResolveResult; - function sync(context: ResolveContext, path: string, request: string): ResolveResult; + namespace loader { + function sync(path: string, request: string): string; + function sync(context: ResolveContext, path: string, request: string): string; } - function create(path: string, request: string, callback: LoggingCallbackWrapper): void; - function create(context: ResolveContext, path: string, request: string, callback: LoggingCallbackWrapper): void; + function create(options: ResolverFactory.ResolverOption): { + (path: string, request: string, callback: LoggingCallbackWrapper): void; + (context: ResolveContext, path: string, request: string, callback: LoggingCallbackWrapper): void; + } export namespace create { - function sync(path: string, request: string): ResolveResult; - function sync(context: ResolveContext, path: string, request: string): ResolveResult; + function sync(options: ResolverFactory.ResolverOption): { + (path: string, request: string): string; + (context: ResolveContext, path: string, request: string): string; + } } export namespace ResolverFactory { @@ -54,8 +57,8 @@ declare namespace Resolve { descriptionFiles?: string[]; enforceExtension?: boolean; enforceModuleExtension?: boolean; - extensions: string[]; - fileSystem: AbstractInputFileSystem; + extensions?: string[]; + fileSystem?: AbstractInputFileSystem; mainFields?: string[]; mainFiles?: string[]; moduleExtensions?: string[]; @@ -70,7 +73,7 @@ declare namespace Resolve { interface AliasItem { alias: string; name: string; - onlyModule: boolean; + onlyModule?: boolean; } function createResolver(options: ResolverOption): Resolver; } diff --git a/types/enhanced-resolve/lib/Resolver.d.ts b/types/enhanced-resolve/lib/Resolver.d.ts index 20fc1c0914..1799fba39b 100644 --- a/types/enhanced-resolve/lib/Resolver.d.ts +++ b/types/enhanced-resolve/lib/Resolver.d.ts @@ -2,7 +2,6 @@ import Tapable = require('tapable'); import { ResolveParseResult, - ResolveResult, ResolverRequest, LoggingCallbackWrapper, AbstractInputFileSystem, @@ -14,7 +13,7 @@ declare class Resolver extends Tapable { constructor(fileSystem: AbstractInputFileSystem); - resolveSync(context: ResolveContext, path: string, request: string): ResolveResult; + resolveSync(context: ResolveContext, path: string, request: string): string; resolve(context: ResolveContext, path: string, request: string, callback: LoggingCallbackWrapper): any; diff --git a/types/enhanced-resolve/lib/common-types.d.ts b/types/enhanced-resolve/lib/common-types.d.ts index 6607dee64f..b0ec925c0b 100644 --- a/types/enhanced-resolve/lib/common-types.d.ts +++ b/types/enhanced-resolve/lib/common-types.d.ts @@ -23,11 +23,6 @@ export interface ResolveContext { issuer?: string; } -export interface ResolveResult { - path: boolean | string; - query: string; -} - export interface ResolverRequest { context: ResolveContext; descriptionFileData?: DescriptionFileData; diff --git a/types/enhanced-resolve/test/index.ts b/types/enhanced-resolve/test/index.ts index dfd5087be4..aeec1d57d8 100644 --- a/types/enhanced-resolve/test/index.ts +++ b/types/enhanced-resolve/test/index.ts @@ -1,5 +1,5 @@ import resolve = require('enhanced-resolve'); -import { ResolveResult, AbstractInputFileSystem } from 'enhanced-resolve/lib/common-types' +import { AbstractInputFileSystem } from 'enhanced-resolve/lib/common-types' import Resolver = require('enhanced-resolve/lib/Resolver') resolve('lib', 'string', function (err) { }); @@ -20,19 +20,30 @@ const nfs = new resolve.NodeJsInputFileSystem(); const cfs = new resolve.CachedInputFileSystem(nfs, 4); -let result: ResolveResult +let result: string result = resolve.sync(context, 'path', 'string'); result = resolve.sync('path', 'string'); + +// Context + resolve.context('lib', 'string', function (err) { }); resolve.context(context, 'path', 'string', function () { }); result = resolve.context.sync(context, 'path', 'string'); result = resolve.context.sync('path', 'string'); -resolve.create('lib', 'string', function (err) { }); -resolve.create(context, 'path', 'string', function () { }); +// Loader -result = resolve.create.sync(context, 'path', 'string'); -result = resolve.create.sync('path', 'string'); +resolve.loader('lib', 'string', function (err) { }); +resolve.loader(context, 'path', 'string', function () { }); + +result = resolve.loader.sync(context, 'path', 'string'); +result = resolve.loader.sync('path', 'string'); + +// Create + +resolve.create({extensions: [".js", ".json", ".node"]})(context, 'path', 'string', function () { }); + +result = resolve.create.sync({mainFields: ["loader", "main"]})(context, 'path', 'string');