From 19e93b6409e0d9542ebb0c1241e899a640d5a684 Mon Sep 17 00:00:00 2001 From: e-cloud Date: Tue, 8 Nov 2016 22:11:26 +0800 Subject: [PATCH 1/4] feat: add typings for enhanced-resolve --- enhanced-resolve/index.d.ts | 134 ++++++++++++++++++ enhanced-resolve/lib/AliasFieldPlugin.d.ts | 11 ++ enhanced-resolve/lib/AliasPlugin.d.ts | 17 +++ enhanced-resolve/lib/AppendPlugin.d.ts | 11 ++ enhanced-resolve/lib/CloneBasenamePlugin.d.ts | 10 ++ .../lib/ConcordExtensionsPlugin.d.ts | 11 ++ enhanced-resolve/lib/ConcordMainPlugin.d.ts | 11 ++ .../lib/ConcordModulesPlugin.d.ts | 11 ++ .../lib/DescriptionFilePlugin.d.ts | 11 ++ .../lib/DescriptionFileUtils.d.ts | 8 ++ .../lib/DirectoryExistsPlugin.d.ts | 10 ++ enhanced-resolve/lib/FileExistsPlugin.d.ts | 10 ++ enhanced-resolve/lib/FileKindPlugin.d.ts | 10 ++ enhanced-resolve/lib/JoinRequestPlugin.d.ts | 10 ++ enhanced-resolve/lib/LogInfoPlugin.d.ts | 9 ++ enhanced-resolve/lib/MainFieldPlugin.d.ts | 19 +++ enhanced-resolve/lib/ModuleAppendPlugin.d.ts | 11 ++ enhanced-resolve/lib/ModuleKindPlugin.d.ts | 10 ++ .../ModulesInHierachicDirectoriesPlugin.d.ts | 11 ++ enhanced-resolve/lib/ModulesInRootPlugin.d.ts | 11 ++ enhanced-resolve/lib/NextPlugin.d.ts | 10 ++ enhanced-resolve/lib/ParsePlugin.d.ts | 10 ++ enhanced-resolve/lib/Resolver.d.ts | 26 ++++ enhanced-resolve/lib/ResultPlugin.d.ts | 9 ++ enhanced-resolve/lib/Storage.d.ts | 30 ++++ enhanced-resolve/lib/SymlinkPlugin.d.ts | 10 ++ enhanced-resolve/lib/TryNextPlugin.d.ts | 11 ++ enhanced-resolve/lib/UnsafeCachePlugin.d.ts | 13 ++ enhanced-resolve/lib/UseFilePlugin.d.ts | 11 ++ enhanced-resolve/lib/common-types.d.ts | 62 ++++++++ enhanced-resolve/lib/concord.d.ts | 35 +++++ enhanced-resolve/lib/getPaths.d.ts | 5 + enhanced-resolve/lib/globToRegExp.d.ts | 2 + enhanced-resolve/tsconfig.json | 18 +++ 34 files changed, 598 insertions(+) create mode 100644 enhanced-resolve/index.d.ts create mode 100644 enhanced-resolve/lib/AliasFieldPlugin.d.ts create mode 100644 enhanced-resolve/lib/AliasPlugin.d.ts create mode 100644 enhanced-resolve/lib/AppendPlugin.d.ts create mode 100644 enhanced-resolve/lib/CloneBasenamePlugin.d.ts create mode 100644 enhanced-resolve/lib/ConcordExtensionsPlugin.d.ts create mode 100644 enhanced-resolve/lib/ConcordMainPlugin.d.ts create mode 100644 enhanced-resolve/lib/ConcordModulesPlugin.d.ts create mode 100644 enhanced-resolve/lib/DescriptionFilePlugin.d.ts create mode 100644 enhanced-resolve/lib/DescriptionFileUtils.d.ts create mode 100644 enhanced-resolve/lib/DirectoryExistsPlugin.d.ts create mode 100644 enhanced-resolve/lib/FileExistsPlugin.d.ts create mode 100644 enhanced-resolve/lib/FileKindPlugin.d.ts create mode 100644 enhanced-resolve/lib/JoinRequestPlugin.d.ts create mode 100644 enhanced-resolve/lib/LogInfoPlugin.d.ts create mode 100644 enhanced-resolve/lib/MainFieldPlugin.d.ts create mode 100644 enhanced-resolve/lib/ModuleAppendPlugin.d.ts create mode 100644 enhanced-resolve/lib/ModuleKindPlugin.d.ts create mode 100644 enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.d.ts create mode 100644 enhanced-resolve/lib/ModulesInRootPlugin.d.ts create mode 100644 enhanced-resolve/lib/NextPlugin.d.ts create mode 100644 enhanced-resolve/lib/ParsePlugin.d.ts create mode 100644 enhanced-resolve/lib/Resolver.d.ts create mode 100644 enhanced-resolve/lib/ResultPlugin.d.ts create mode 100644 enhanced-resolve/lib/Storage.d.ts create mode 100644 enhanced-resolve/lib/SymlinkPlugin.d.ts create mode 100644 enhanced-resolve/lib/TryNextPlugin.d.ts create mode 100644 enhanced-resolve/lib/UnsafeCachePlugin.d.ts create mode 100644 enhanced-resolve/lib/UseFilePlugin.d.ts create mode 100644 enhanced-resolve/lib/common-types.d.ts create mode 100644 enhanced-resolve/lib/concord.d.ts create mode 100644 enhanced-resolve/lib/getPaths.d.ts create mode 100644 enhanced-resolve/lib/globToRegExp.d.ts create mode 100644 enhanced-resolve/tsconfig.json diff --git a/enhanced-resolve/index.d.ts b/enhanced-resolve/index.d.ts new file mode 100644 index 0000000000..200f8efcca --- /dev/null +++ b/enhanced-resolve/index.d.ts @@ -0,0 +1,134 @@ +// Type definitions for tapable v0.2.4 +// Project: http://github.com/webpack/tapable.git +// Definitions by: e-cloud +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// +/// + +import fs = require('fs') +import { + ResolveResult, + LoggingCallbackWrapper, + ErrorCallback, + CommonFileSystemMethod, + BaseFileSystem, + ResolverRequest +} from './lib/common-types' +import { Context } from './lib/concord' +import Resolver = require('./lib/Resolver') + +declare namespace Resolve { + function sync(path: string, request: string): ResolveResult + function sync(context: Context, path: string, request: string): ResolveResult + + function context(path: string, request: string, callback: LoggingCallbackWrapper): void + function context(context: Context, path: string, request: string, callback: LoggingCallbackWrapper): void + + namespace context { + function sync(path: string, request: string): ResolveResult + function sync(context: Context, path: string, request: string): ResolveResult + } + + function loader(path: string, request: string, callback: LoggingCallbackWrapper): void + function loader(context: Context, path: string, request: string, callback: LoggingCallbackWrapper): void + + namespace context { + function sync(path: string, request: string): ResolveResult + function sync(context: Context, path: string, request: string): ResolveResult + } + + function create(path: string, request: string, callback: LoggingCallbackWrapper): void + function create(context: Context, path: string, request: string, callback: LoggingCallbackWrapper): void + + export namespace create { + function sync(path: string, request: string): ResolveResult + function sync(context: Context, path: string, request: string): ResolveResult + } + + export namespace ResolverFactory { + interface ResolverOption { + modules?: string[]; + descriptionFiles?: string[]; + plugins?: any[]; + mainFields?: string[]; + aliasFields?: string[]; + mainFiles?: string[]; + extensions?: string[]; + enforceExtension?: boolean; + moduleExtensions?: string[]; + enforceModuleExtension?: boolean; + alias?: AliasItem[] | {}; + symlinks?: string[] | boolean; + resolveToContext?: boolean; + unsafeCache?: boolean | {}; + cachePredicate?: (val: ResolverRequest) => boolean; + fileSystem?: any; + resolver?: Resolver; + } + interface AliasItem { + name: string; + alias: string; + onlyModule: boolean; + } + function createResolver(options: ResolverOption): Resolver; + } + + class NodeJsInputFileSystem { + readdir(path: string, callback: (err: Error, files: string[]) => void): void; + + isSync(): boolean; + + stat(path: string, callback?: (err: NodeJS.ErrnoException, stats: fs.Stats) => any): void; + + readFile(filename: string, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void + readFile(filename: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void + + readlink(path: string, callback?: (err: NodeJS.ErrnoException, linkString: string) => any): void; + } + + class SyncNodeJsInputFileSystem { + isSync(): boolean; + + stat: CommonFileSystemMethod; + readdir: CommonFileSystemMethod; + readFile(path: string, encoding?: string, callback?: (err: NodeJS.ErrnoException, result: Buffer) => void): void + readFile(path: string, callback?: (err: NodeJS.ErrnoException, result: Buffer) => void): void + readlink: CommonFileSystemMethod; + } + + class CachedInputFileSystem { + fileSystem: BaseFileSystem; + _statStorage: Storage; + _readdirStorage: Storage; + _readFileStorage: Storage; + _readJsonStorage: Storage; + _readlinkStorage: Storage; + _stat: CommonFileSystemMethod; + _readdir: CommonFileSystemMethod; + _readFile: CommonFileSystemMethod; + _readJson: CommonFileSystemMethod; + _readlink: CommonFileSystemMethod; + + constructor(fileSystem: BaseFileSystem, duration: number); + + isSync(): boolean; + + stat(path: string, callback: ErrorCallback): void; + + readdir(path: string, callback: ErrorCallback): void; + + readFile(path: string, callback: ErrorCallback): void; + + readJson(path: string, callback: ErrorCallback): void; + + readlink(path: string, callback: ErrorCallback): void; + + purge(what?: string | string[]): void; + } +} + +declare function Resolve(path: string, request: string, callback: LoggingCallbackWrapper): void; +declare function Resolve(context: Context, path: string, request: string, callback: LoggingCallbackWrapper): void; + +export = Resolve; diff --git a/enhanced-resolve/lib/AliasFieldPlugin.d.ts b/enhanced-resolve/lib/AliasFieldPlugin.d.ts new file mode 100644 index 0000000000..d49ba745b8 --- /dev/null +++ b/enhanced-resolve/lib/AliasFieldPlugin.d.ts @@ -0,0 +1,11 @@ +import Resolver = require('./Resolver'); +declare class AliasFieldPlugin { + source: string; + field: string; + target: string; + + constructor(source: string, field: string, target: string); + + apply(resolver: Resolver): void; +} +export = AliasFieldPlugin; diff --git a/enhanced-resolve/lib/AliasPlugin.d.ts b/enhanced-resolve/lib/AliasPlugin.d.ts new file mode 100644 index 0000000000..4d9635f1c5 --- /dev/null +++ b/enhanced-resolve/lib/AliasPlugin.d.ts @@ -0,0 +1,17 @@ +import Resolver = require('./Resolver'); +import Resolve = require('../'); + +declare class AliasPlugin { + source: string; + options: Resolve.ResolverFactory.AliasItem; + target: string; + name: string; + alias: string; + onlyModule: boolean; + + constructor(source: string, options: Resolve.ResolverFactory.AliasItem, target: string); + + apply(resolver: Resolver): void; +} + +export = AliasPlugin; diff --git a/enhanced-resolve/lib/AppendPlugin.d.ts b/enhanced-resolve/lib/AppendPlugin.d.ts new file mode 100644 index 0000000000..7a5f7e1a62 --- /dev/null +++ b/enhanced-resolve/lib/AppendPlugin.d.ts @@ -0,0 +1,11 @@ +import Resolver = require('./Resolver'); +declare class AppendPlugin { + source: string; + appending: string; + target: string; + + constructor(source: string, appending: string, target: string); + + apply(resolver: Resolver): void; +} +export = AppendPlugin; diff --git a/enhanced-resolve/lib/CloneBasenamePlugin.d.ts b/enhanced-resolve/lib/CloneBasenamePlugin.d.ts new file mode 100644 index 0000000000..8a4483902e --- /dev/null +++ b/enhanced-resolve/lib/CloneBasenamePlugin.d.ts @@ -0,0 +1,10 @@ +import Resolver = require('./Resolver'); +declare class CloneBasenamePlugin { + source: string; + target: string; + + constructor(source: string, target: string); + + apply(resolver: Resolver): void; +} +export = CloneBasenamePlugin; diff --git a/enhanced-resolve/lib/ConcordExtensionsPlugin.d.ts b/enhanced-resolve/lib/ConcordExtensionsPlugin.d.ts new file mode 100644 index 0000000000..84078c327a --- /dev/null +++ b/enhanced-resolve/lib/ConcordExtensionsPlugin.d.ts @@ -0,0 +1,11 @@ +import Resolver = require('./Resolver'); +declare class ConcordExtensionsPlugin { + source: string; + options: Object; + target: string; + + constructor(source: string, options: Object, target: string); + + apply(resolver: Resolver): void; +} +export = ConcordExtensionsPlugin; diff --git a/enhanced-resolve/lib/ConcordMainPlugin.d.ts b/enhanced-resolve/lib/ConcordMainPlugin.d.ts new file mode 100644 index 0000000000..edbf1627a0 --- /dev/null +++ b/enhanced-resolve/lib/ConcordMainPlugin.d.ts @@ -0,0 +1,11 @@ +import Resolver = require('./Resolver'); +declare class ConcordMainPlugin { + source: string; + options: Object; + target: string; + + constructor(source: string, options: Object, target: string); + + apply(resolver: Resolver): void; +} +export = ConcordMainPlugin; diff --git a/enhanced-resolve/lib/ConcordModulesPlugin.d.ts b/enhanced-resolve/lib/ConcordModulesPlugin.d.ts new file mode 100644 index 0000000000..c0835be799 --- /dev/null +++ b/enhanced-resolve/lib/ConcordModulesPlugin.d.ts @@ -0,0 +1,11 @@ +import Resolver = require('./Resolver'); +declare class ConcordModulesPlugin { + source: string; + options: Object; + target: string; + + constructor(source: string, options: Object, target: string); + + apply(resolver: Resolver): void; +} +export = ConcordModulesPlugin; diff --git a/enhanced-resolve/lib/DescriptionFilePlugin.d.ts b/enhanced-resolve/lib/DescriptionFilePlugin.d.ts new file mode 100644 index 0000000000..f9f560de46 --- /dev/null +++ b/enhanced-resolve/lib/DescriptionFilePlugin.d.ts @@ -0,0 +1,11 @@ +import Resolver = require('./Resolver'); +declare class DescriptionFilePlugin { + source: string; + target: string; + filenames: string[]; + + constructor(source: string, filenames: string[] | string, target: string); + + apply(resolver: Resolver): void; +} +export = DescriptionFilePlugin; diff --git a/enhanced-resolve/lib/DescriptionFileUtils.d.ts b/enhanced-resolve/lib/DescriptionFileUtils.d.ts new file mode 100644 index 0000000000..db7cd77723 --- /dev/null +++ b/enhanced-resolve/lib/DescriptionFileUtils.d.ts @@ -0,0 +1,8 @@ +import Resolver = require('./Resolver'); +declare function loadDescriptionFile( + resolver: Resolver, directory: string, filenames: string[], + callback: (...args: any[]) => any +): void; +declare function getField(content: any, field: string): any; +declare function cdUp(directory: string): string | null; +export { loadDescriptionFile, getField, cdUp }; diff --git a/enhanced-resolve/lib/DirectoryExistsPlugin.d.ts b/enhanced-resolve/lib/DirectoryExistsPlugin.d.ts new file mode 100644 index 0000000000..d4483985ab --- /dev/null +++ b/enhanced-resolve/lib/DirectoryExistsPlugin.d.ts @@ -0,0 +1,10 @@ +import Resolver = require('./Resolver'); +declare class DirectoryExistsPlugin { + source: string; + target: string; + + constructor(source: string, target: string); + + apply(resolver: Resolver): void; +} +export = DirectoryExistsPlugin; diff --git a/enhanced-resolve/lib/FileExistsPlugin.d.ts b/enhanced-resolve/lib/FileExistsPlugin.d.ts new file mode 100644 index 0000000000..061a8475c2 --- /dev/null +++ b/enhanced-resolve/lib/FileExistsPlugin.d.ts @@ -0,0 +1,10 @@ +import Resolver = require('./Resolver'); +declare class FileExistsPlugin { + source: string; + target: string; + + constructor(source: string, target: string); + + apply(resolver: Resolver): void; +} +export = FileExistsPlugin; diff --git a/enhanced-resolve/lib/FileKindPlugin.d.ts b/enhanced-resolve/lib/FileKindPlugin.d.ts new file mode 100644 index 0000000000..86c0e68543 --- /dev/null +++ b/enhanced-resolve/lib/FileKindPlugin.d.ts @@ -0,0 +1,10 @@ +import Resolver = require('./Resolver'); +declare class FileKindPlugin { + source: string; + target: string; + + constructor(source: string, target: string); + + apply(resolver: Resolver): void; +} +export = FileKindPlugin; diff --git a/enhanced-resolve/lib/JoinRequestPlugin.d.ts b/enhanced-resolve/lib/JoinRequestPlugin.d.ts new file mode 100644 index 0000000000..66238fddb9 --- /dev/null +++ b/enhanced-resolve/lib/JoinRequestPlugin.d.ts @@ -0,0 +1,10 @@ +import Resolver = require('./Resolver'); +declare class JoinRequestPlugin { + source: string; + target: string; + + constructor(source: string, target: string); + + apply(resolver: Resolver): void; +} +export = JoinRequestPlugin; diff --git a/enhanced-resolve/lib/LogInfoPlugin.d.ts b/enhanced-resolve/lib/LogInfoPlugin.d.ts new file mode 100644 index 0000000000..26dcecac87 --- /dev/null +++ b/enhanced-resolve/lib/LogInfoPlugin.d.ts @@ -0,0 +1,9 @@ +import Resolver = require('./Resolver'); +declare class LogInfoPlugin { + source: string; + + constructor(source: string); + + apply(resolver: Resolver): void; +} +export = LogInfoPlugin; diff --git a/enhanced-resolve/lib/MainFieldPlugin.d.ts b/enhanced-resolve/lib/MainFieldPlugin.d.ts new file mode 100644 index 0000000000..8a8882d6f0 --- /dev/null +++ b/enhanced-resolve/lib/MainFieldPlugin.d.ts @@ -0,0 +1,19 @@ +import Resolver = require('./Resolver'); +declare class MainFieldPlugin { + source: string; + options: { + name: string; + forceRelative: boolean; + }; + target: string; + + constructor( + source: string, options: { + name: string; + forceRelative: boolean; + }, target: string + ); + + apply(resolver: Resolver): void; +} +export = MainFieldPlugin; diff --git a/enhanced-resolve/lib/ModuleAppendPlugin.d.ts b/enhanced-resolve/lib/ModuleAppendPlugin.d.ts new file mode 100644 index 0000000000..3380d33622 --- /dev/null +++ b/enhanced-resolve/lib/ModuleAppendPlugin.d.ts @@ -0,0 +1,11 @@ +import Resolver = require('./Resolver'); +declare class ModuleAppendPlugin { + source: string; + appending: string; + target: string; + + constructor(source: string, appending: string, target: string); + + apply(resolver: Resolver): void; +} +export = ModuleAppendPlugin; diff --git a/enhanced-resolve/lib/ModuleKindPlugin.d.ts b/enhanced-resolve/lib/ModuleKindPlugin.d.ts new file mode 100644 index 0000000000..a4b945a09d --- /dev/null +++ b/enhanced-resolve/lib/ModuleKindPlugin.d.ts @@ -0,0 +1,10 @@ +import Resolver = require('./Resolver'); +declare class ModuleKindPlugin { + source: string; + target: string; + + constructor(source: string, target: string); + + apply(resolver: Resolver): void; +} +export = ModuleKindPlugin; diff --git a/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.d.ts b/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.d.ts new file mode 100644 index 0000000000..d744870022 --- /dev/null +++ b/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.d.ts @@ -0,0 +1,11 @@ +import Resolver = require('./Resolver'); +declare class ModulesInHierachicDirectoriesPlugin { + source: string; + target: string; + directories: string[]; + + constructor(source: string, directories: string[], target: string); + + apply(resolver: Resolver): void; +} +export = ModulesInHierachicDirectoriesPlugin; diff --git a/enhanced-resolve/lib/ModulesInRootPlugin.d.ts b/enhanced-resolve/lib/ModulesInRootPlugin.d.ts new file mode 100644 index 0000000000..87654ce919 --- /dev/null +++ b/enhanced-resolve/lib/ModulesInRootPlugin.d.ts @@ -0,0 +1,11 @@ +import Resolver = require('./Resolver'); +declare class ModulesInRootPlugin { + source: string; + path: string; + target: string; + + constructor(source: string, path: string, target: string); + + apply(resolver: Resolver): void; +} +export = ModulesInRootPlugin; diff --git a/enhanced-resolve/lib/NextPlugin.d.ts b/enhanced-resolve/lib/NextPlugin.d.ts new file mode 100644 index 0000000000..7ffbefa643 --- /dev/null +++ b/enhanced-resolve/lib/NextPlugin.d.ts @@ -0,0 +1,10 @@ +import Resolver = require('./Resolver'); +declare class NextPlugin { + source: string; + target: string; + + constructor(source: string, target: string); + + apply(resolver: Resolver): void; +} +export = NextPlugin; diff --git a/enhanced-resolve/lib/ParsePlugin.d.ts b/enhanced-resolve/lib/ParsePlugin.d.ts new file mode 100644 index 0000000000..933d6d50ff --- /dev/null +++ b/enhanced-resolve/lib/ParsePlugin.d.ts @@ -0,0 +1,10 @@ +import Resolver = require('./Resolver'); +declare class ParsePlugin { + source: string; + target: string; + + constructor(source: string, target: string); + + apply(resolver: Resolver): void; +} +export = ParsePlugin; diff --git a/enhanced-resolve/lib/Resolver.d.ts b/enhanced-resolve/lib/Resolver.d.ts new file mode 100644 index 0000000000..0fe815ba3a --- /dev/null +++ b/enhanced-resolve/lib/Resolver.d.ts @@ -0,0 +1,26 @@ +/// +import Tapable = require('tapable'); +import { ResolveParseResult, ResolverRequest, LoggingCallbackWrapper, BaseFileSystem } from './common-types' +import { Context } from './concord' +declare class Resolver extends Tapable { + fileSystem: BaseFileSystem; + + constructor(fileSystem: BaseFileSystem); + + resolveSync(context: Context, path: string, request: string): null; + + resolve(context: Context, path: string, request: string, callback: LoggingCallbackWrapper): any; + + doResolve(type: string, request: ResolverRequest, message: string | null, callback: LoggingCallbackWrapper): any; + + parse(identifier: string): ResolveParseResult | null; + + isModule(path: string): boolean; + + isDirectory(path: string): boolean; + + join(path: string, request: string): string; + + normalize(path: string): string; +} +export = Resolver; diff --git a/enhanced-resolve/lib/ResultPlugin.d.ts b/enhanced-resolve/lib/ResultPlugin.d.ts new file mode 100644 index 0000000000..47e5b2324a --- /dev/null +++ b/enhanced-resolve/lib/ResultPlugin.d.ts @@ -0,0 +1,9 @@ +import Resolver = require('./Resolver'); +declare class ResultPlugin { + source: string; + + constructor(source: string); + + apply(resolver: Resolver): void; +} +export = ResultPlugin; diff --git a/enhanced-resolve/lib/Storage.d.ts b/enhanced-resolve/lib/Storage.d.ts new file mode 100644 index 0000000000..97dd9febcc --- /dev/null +++ b/enhanced-resolve/lib/Storage.d.ts @@ -0,0 +1,30 @@ +/// +import { CommonFileSystemMethod } from './common-types' + +declare class Storage { + duration: number; + running: Object; + data: Object; + levels: string[][]; + count: number; + interval: NodeJS.Timer | null; + needTickCheck: boolean; + nextTick: number | null; + passive: boolean; + + constructor(duration: number); + + ensureTick(): void; + + finished(name: string): void; + + provide(name: string, provider: CommonFileSystemMethod, callback: (...args: any[]) => any): any; + + tick(): true | undefined; + + checkTicks(): void; + + purge(what?: string | string[]): void; +} + +export default Storage; diff --git a/enhanced-resolve/lib/SymlinkPlugin.d.ts b/enhanced-resolve/lib/SymlinkPlugin.d.ts new file mode 100644 index 0000000000..e5f500637b --- /dev/null +++ b/enhanced-resolve/lib/SymlinkPlugin.d.ts @@ -0,0 +1,10 @@ +import Resolver = require('./Resolver'); +declare class SymlinkPlugin { + source: string; + target: string; + + constructor(source: string, target: string); + + apply(resolver: Resolver): void; +} +export = SymlinkPlugin; diff --git a/enhanced-resolve/lib/TryNextPlugin.d.ts b/enhanced-resolve/lib/TryNextPlugin.d.ts new file mode 100644 index 0000000000..eeb4d1e795 --- /dev/null +++ b/enhanced-resolve/lib/TryNextPlugin.d.ts @@ -0,0 +1,11 @@ +import Resolver = require('./Resolver'); +declare class TryNextPlugin { + source: string; + message: string | null; + target: string; + + constructor(source: string, message: string | null, target: string); + + apply(resolver: Resolver): void; +} +export = TryNextPlugin; diff --git a/enhanced-resolve/lib/UnsafeCachePlugin.d.ts b/enhanced-resolve/lib/UnsafeCachePlugin.d.ts new file mode 100644 index 0000000000..274838b071 --- /dev/null +++ b/enhanced-resolve/lib/UnsafeCachePlugin.d.ts @@ -0,0 +1,13 @@ +import Resolver = require('./Resolver'); +import { ResolverRequest } from './common-types' +declare class UnsafeCachePlugin { + source: string; + filterPredicate: (str: ResolverRequest) => boolean; + cache: Object; + target: string; + + constructor(source: string, filterPredicate: (str: ResolverRequest) => boolean, cache: Object, target: string); + + apply(resolver: Resolver): void; +} +export = UnsafeCachePlugin; diff --git a/enhanced-resolve/lib/UseFilePlugin.d.ts b/enhanced-resolve/lib/UseFilePlugin.d.ts new file mode 100644 index 0000000000..c7d23c7b8d --- /dev/null +++ b/enhanced-resolve/lib/UseFilePlugin.d.ts @@ -0,0 +1,11 @@ +import Resolver = require('./Resolver'); +declare class UseFilePlugin { + source: string; + filename: string; + target: string; + + constructor(source: string, filename: string, target: string); + + apply(resolver: Resolver): void; +} +export = UseFilePlugin; diff --git a/enhanced-resolve/lib/common-types.d.ts b/enhanced-resolve/lib/common-types.d.ts new file mode 100644 index 0000000000..68655feb3b --- /dev/null +++ b/enhanced-resolve/lib/common-types.d.ts @@ -0,0 +1,62 @@ +import { Context } from './concord' +/** + * Created by cloud on 16-11-4. + */ +export interface ResolveError extends Error { + details: string; + missing: string[]; + recursion: boolean; +} +export interface ResolveParseResult { + request: string; + query: string; + module: boolean; + directory: boolean; + file: boolean; +} +export interface ResolveResult { + path: boolean | string; + query: string; +} +export interface ResolverRequest { + request: string; + relativePath?: string; + descriptionFileData?: any; + descriptionFileRoot?: string; + descriptionFilePath?: string; + context: Context; + path: string; + query?: string; + directory?: boolean; + module?: boolean; +} +export interface LoggingCallbackTools { + log?(msg: string): void; + stack?: string[]; + missing?: string[] | { + push: (item: string) => void; + }; +} +export interface LoggingCallbackWrapper extends LoggingCallbackTools { + (...args: any[]): any; +} + +export interface ErrorCallback { + (err: Error | null, ...args: any[]): any +} + +export interface CommonFileSystemMethod { + (name: string, callback: (err: Error | null, ...args: any[]) => void): void +} + +export interface BaseFileSystem { + stat: CommonFileSystemMethod + readdir?: CommonFileSystemMethod + readFile?(path: string, encoding: string, callback: any): void + readFile?(path: string, callback: any): void + readJson?: CommonFileSystemMethod + readlink?: CommonFileSystemMethod + isSync: () => boolean +} + + diff --git a/enhanced-resolve/lib/concord.d.ts b/enhanced-resolve/lib/concord.d.ts new file mode 100644 index 0000000000..c26958a5ef --- /dev/null +++ b/enhanced-resolve/lib/concord.d.ts @@ -0,0 +1,35 @@ +export interface Type { + type: string | null | undefined; + features: string[]; +} +export interface Context { + supportedResourceTypes?: string[]; + environments?: string[]; + referrer: string; +} +declare function parseType(type: string): Type; +declare function isTypeMatched(baseType: string | Type, testedType: string | Type): boolean; +declare function isResourceTypeSupported(context: Context, type: string): boolean | undefined; +declare function isEnvironment(context: Context, env: string | Type): boolean | undefined; +declare function isGlobMatched(glob: string, relativePath: string): boolean; +declare function isConditionMatched(context: Context, condition: string): boolean; +declare function isKeyMatched(context: Context, key: string): string | boolean; +declare function getField(context: Context, configuration: any, field: string): undefined; +declare function getMain(context: Context, configuration: any): undefined; +declare function getExtensions(context: Context, configuration: any): undefined; +declare function matchModule(context: Context, configuration: any, request: string): any; +declare function matchType(context: Context, configuration: any, relativePath: string): undefined; +export { + parseType, + isTypeMatched, + isResourceTypeSupported, + isEnvironment, + isGlobMatched, + isConditionMatched, + isKeyMatched, + getField, + getMain, + getExtensions, + matchModule, + matchType +}; diff --git a/enhanced-resolve/lib/getPaths.d.ts b/enhanced-resolve/lib/getPaths.d.ts new file mode 100644 index 0000000000..abc2754510 --- /dev/null +++ b/enhanced-resolve/lib/getPaths.d.ts @@ -0,0 +1,5 @@ +export default function getPaths(path: string): { + paths: string[]; + seqments: string[]; +}; +export declare function basename(path: string): string | null; diff --git a/enhanced-resolve/lib/globToRegExp.d.ts b/enhanced-resolve/lib/globToRegExp.d.ts new file mode 100644 index 0000000000..8fc134e6a8 --- /dev/null +++ b/enhanced-resolve/lib/globToRegExp.d.ts @@ -0,0 +1,2 @@ +declare function globToRegExp(glob: string): RegExp; +export { globToRegExp }; diff --git a/enhanced-resolve/tsconfig.json b/enhanced-resolve/tsconfig.json new file mode 100644 index 0000000000..b08f2792f0 --- /dev/null +++ b/enhanced-resolve/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "include": [ + "**/*.ts" + ] +} From 85cd3dd23df4199a4f0fd2e3c93f64fc50b21b9e Mon Sep 17 00:00:00 2001 From: e-cloud Date: Wed, 9 Nov 2016 20:55:54 +0800 Subject: [PATCH 2/4] test: add tests for enhanced-resolve --- enhanced-resolve/enhanced-resolve-tests.ts | 42 ++++++ enhanced-resolve/index.d.ts | 48 +++---- enhanced-resolve/lib/Resolver.d.ts | 4 +- enhanced-resolve/lib/Storage.d.ts | 2 +- enhanced-resolve/lib/UnsafeCachePlugin.d.ts | 2 +- enhanced-resolve/lib/common-types.d.ts | 33 ++--- enhanced-resolve/lib/concord.d.ts | 3 + enhanced-resolve/lib/lib-tests.ts | 137 ++++++++++++++++++++ enhanced-resolve/tsconfig.json | 34 ++--- 9 files changed, 245 insertions(+), 60 deletions(-) create mode 100644 enhanced-resolve/enhanced-resolve-tests.ts create mode 100644 enhanced-resolve/lib/lib-tests.ts diff --git a/enhanced-resolve/enhanced-resolve-tests.ts b/enhanced-resolve/enhanced-resolve-tests.ts new file mode 100644 index 0000000000..ed04190fbb --- /dev/null +++ b/enhanced-resolve/enhanced-resolve-tests.ts @@ -0,0 +1,42 @@ +import resolve = require('enhanced-resolve'); +import { Context } from './lib/concord'; +import { ResolveResult } from './lib/common-types' +import Resolver = require('./lib/Resolver') + +resolve('lib', 'string', function (err) { }); + +let context: Context = { + referrer: 'hi' +}; + +resolve(context, 'path', 'string', function () { }); + +let resolver: Resolver +resolver = resolve.ResolverFactory.createResolver({ + extensions: ['.js'], + fileSystem: {} +}); + +const nfs = new resolve.NodeJsInputFileSystem(); + +const snfs = new resolve.SyncNodeJsInputFileSystem(); + +const cfs = new resolve.CachedInputFileSystem(nfs, 4); +const cfs2 = new resolve.CachedInputFileSystem(snfs, 4); + +let result: ResolveResult + +result = resolve.sync(context, 'path', 'string'); +result = resolve.sync('path', 'string'); + +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 () { }); + +result = resolve.create.sync(context, 'path', 'string'); +result = resolve.create.sync('path', 'string'); diff --git a/enhanced-resolve/index.d.ts b/enhanced-resolve/index.d.ts index 200f8efcca..0a1f4723e8 100644 --- a/enhanced-resolve/index.d.ts +++ b/enhanced-resolve/index.d.ts @@ -6,7 +6,7 @@ /// /// -import fs = require('fs') +import fs = require('fs'); import { ResolveResult, LoggingCallbackWrapper, @@ -14,36 +14,36 @@ import { CommonFileSystemMethod, BaseFileSystem, ResolverRequest -} from './lib/common-types' -import { Context } from './lib/concord' -import Resolver = require('./lib/Resolver') +} from './lib/common-types'; +import { Context } from './lib/concord'; +import Resolver = require('./lib/Resolver'); declare namespace Resolve { - function sync(path: string, request: string): ResolveResult - function sync(context: Context, path: string, request: string): ResolveResult + function sync(path: string, request: string): ResolveResult; + function sync(context: Context, path: string, request: string): ResolveResult; - function context(path: string, request: string, callback: LoggingCallbackWrapper): void - function context(context: Context, path: string, request: string, callback: LoggingCallbackWrapper): void + function context(path: string, request: string, callback: LoggingCallbackWrapper): void; + function context(context: Context, path: string, request: string, callback: LoggingCallbackWrapper): void; namespace context { - function sync(path: string, request: string): ResolveResult - function sync(context: Context, path: string, request: string): ResolveResult + function sync(path: string, request: string): ResolveResult; + function sync(context: Context, path: string, request: string): ResolveResult; } - function loader(path: string, request: string, callback: LoggingCallbackWrapper): void - function loader(context: Context, path: string, request: string, callback: LoggingCallbackWrapper): void + function loader(path: string, request: string, callback: LoggingCallbackWrapper): void; + function loader(context: Context, path: string, request: string, callback: LoggingCallbackWrapper): void; namespace context { - function sync(path: string, request: string): ResolveResult - function sync(context: Context, path: string, request: string): ResolveResult + function sync(path: string, request: string): ResolveResult; + function sync(context: Context, path: string, request: string): ResolveResult; } - function create(path: string, request: string, callback: LoggingCallbackWrapper): void - function create(context: Context, path: string, request: string, callback: LoggingCallbackWrapper): void + function create(path: string, request: string, callback: LoggingCallbackWrapper): void; + function create(context: Context, path: string, request: string, callback: LoggingCallbackWrapper): void; export namespace create { - function sync(path: string, request: string): ResolveResult - function sync(context: Context, path: string, request: string): ResolveResult + function sync(path: string, request: string): ResolveResult; + function sync(context: Context, path: string, request: string): ResolveResult; } export namespace ResolverFactory { @@ -54,7 +54,7 @@ declare namespace Resolve { mainFields?: string[]; aliasFields?: string[]; mainFiles?: string[]; - extensions?: string[]; + extensions: string[]; enforceExtension?: boolean; moduleExtensions?: string[]; enforceModuleExtension?: boolean; @@ -63,7 +63,7 @@ declare namespace Resolve { resolveToContext?: boolean; unsafeCache?: boolean | {}; cachePredicate?: (val: ResolverRequest) => boolean; - fileSystem?: any; + fileSystem: any; resolver?: Resolver; } interface AliasItem { @@ -81,8 +81,8 @@ declare namespace Resolve { stat(path: string, callback?: (err: NodeJS.ErrnoException, stats: fs.Stats) => any): void; - readFile(filename: string, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void - readFile(filename: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void + readFile(filename: string, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void; + readFile(filename: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void; readlink(path: string, callback?: (err: NodeJS.ErrnoException, linkString: string) => any): void; } @@ -92,8 +92,8 @@ declare namespace Resolve { stat: CommonFileSystemMethod; readdir: CommonFileSystemMethod; - readFile(path: string, encoding?: string, callback?: (err: NodeJS.ErrnoException, result: Buffer) => void): void - readFile(path: string, callback?: (err: NodeJS.ErrnoException, result: Buffer) => void): void + readFile(path: string, encoding?: string, callback?: (err: NodeJS.ErrnoException, result: Buffer) => void): void; + readFile(path: string, callback?: (err: NodeJS.ErrnoException, result: Buffer) => void): void; readlink: CommonFileSystemMethod; } diff --git a/enhanced-resolve/lib/Resolver.d.ts b/enhanced-resolve/lib/Resolver.d.ts index 0fe815ba3a..4d2f3ee477 100644 --- a/enhanced-resolve/lib/Resolver.d.ts +++ b/enhanced-resolve/lib/Resolver.d.ts @@ -1,7 +1,7 @@ /// import Tapable = require('tapable'); -import { ResolveParseResult, ResolverRequest, LoggingCallbackWrapper, BaseFileSystem } from './common-types' -import { Context } from './concord' +import { ResolveParseResult, ResolverRequest, LoggingCallbackWrapper, BaseFileSystem } from './common-types'; +import { Context } from './concord'; declare class Resolver extends Tapable { fileSystem: BaseFileSystem; diff --git a/enhanced-resolve/lib/Storage.d.ts b/enhanced-resolve/lib/Storage.d.ts index 97dd9febcc..17557d61a7 100644 --- a/enhanced-resolve/lib/Storage.d.ts +++ b/enhanced-resolve/lib/Storage.d.ts @@ -1,5 +1,5 @@ /// -import { CommonFileSystemMethod } from './common-types' +import { CommonFileSystemMethod } from './common-types'; declare class Storage { duration: number; diff --git a/enhanced-resolve/lib/UnsafeCachePlugin.d.ts b/enhanced-resolve/lib/UnsafeCachePlugin.d.ts index 274838b071..7c7ed55ea6 100644 --- a/enhanced-resolve/lib/UnsafeCachePlugin.d.ts +++ b/enhanced-resolve/lib/UnsafeCachePlugin.d.ts @@ -1,5 +1,5 @@ import Resolver = require('./Resolver'); -import { ResolverRequest } from './common-types' +import { ResolverRequest } from './common-types'; declare class UnsafeCachePlugin { source: string; filterPredicate: (str: ResolverRequest) => boolean; diff --git a/enhanced-resolve/lib/common-types.d.ts b/enhanced-resolve/lib/common-types.d.ts index 68655feb3b..30c39d1210 100644 --- a/enhanced-resolve/lib/common-types.d.ts +++ b/enhanced-resolve/lib/common-types.d.ts @@ -1,12 +1,11 @@ -import { Context } from './concord' -/** - * Created by cloud on 16-11-4. - */ +import { Context } from './concord'; + export interface ResolveError extends Error { details: string; missing: string[]; recursion: boolean; } + export interface ResolveParseResult { request: string; query: string; @@ -14,10 +13,12 @@ export interface ResolveParseResult { directory: boolean; file: boolean; } + export interface ResolveResult { path: boolean | string; query: string; } + export interface ResolverRequest { request: string; relativePath?: string; @@ -30,6 +31,7 @@ export interface ResolverRequest { directory?: boolean; module?: boolean; } + export interface LoggingCallbackTools { log?(msg: string): void; stack?: string[]; @@ -37,26 +39,25 @@ export interface LoggingCallbackTools { push: (item: string) => void; }; } + export interface LoggingCallbackWrapper extends LoggingCallbackTools { - (...args: any[]): any; + (err?: Error | null, ...args: any[]): any; } export interface ErrorCallback { - (err: Error | null, ...args: any[]): any + (err: Error | null, ...args: any[]): any; } export interface CommonFileSystemMethod { - (name: string, callback: (err: Error | null, ...args: any[]) => void): void + (name: string, callback: (err: Error | null, ...args: any[]) => void): void; } export interface BaseFileSystem { - stat: CommonFileSystemMethod - readdir?: CommonFileSystemMethod - readFile?(path: string, encoding: string, callback: any): void - readFile?(path: string, callback: any): void - readJson?: CommonFileSystemMethod - readlink?: CommonFileSystemMethod - isSync: () => boolean + stat: CommonFileSystemMethod; + readdir?: CommonFileSystemMethod; + readFile?(path: string, encoding: string, callback: ErrorCallback): void; + readFile?(path: string, callback: ErrorCallback): void; + readJson?: CommonFileSystemMethod; + readlink?: CommonFileSystemMethod; + isSync: () => boolean; } - - diff --git a/enhanced-resolve/lib/concord.d.ts b/enhanced-resolve/lib/concord.d.ts index c26958a5ef..d11f1047df 100644 --- a/enhanced-resolve/lib/concord.d.ts +++ b/enhanced-resolve/lib/concord.d.ts @@ -2,11 +2,13 @@ export interface Type { type: string | null | undefined; features: string[]; } + export interface Context { supportedResourceTypes?: string[]; environments?: string[]; referrer: string; } + declare function parseType(type: string): Type; declare function isTypeMatched(baseType: string | Type, testedType: string | Type): boolean; declare function isResourceTypeSupported(context: Context, type: string): boolean | undefined; @@ -19,6 +21,7 @@ declare function getMain(context: Context, configuration: any): undefined; declare function getExtensions(context: Context, configuration: any): undefined; declare function matchModule(context: Context, configuration: any, request: string): any; declare function matchType(context: Context, configuration: any, relativePath: string): undefined; + export { parseType, isTypeMatched, diff --git a/enhanced-resolve/lib/lib-tests.ts b/enhanced-resolve/lib/lib-tests.ts new file mode 100644 index 0000000000..9a7c043cca --- /dev/null +++ b/enhanced-resolve/lib/lib-tests.ts @@ -0,0 +1,137 @@ +import AliasFieldPlugin = require('./AliasFieldPlugin'); + +import AliasPlugin = require('./AliasPlugin'); + +import AppendPlugin = require('./AppendPlugin'); + +import CloneBasenamePlugin = require('./CloneBasenamePlugin'); + +import ConcordExtensionsPlugin = require('./ConcordExtensionsPlugin'); + +import ConcordMainPlugin = require('./ConcordMainPlugin'); + +import ConcordModulesPlugin = require('./ConcordModulesPlugin'); + +import DescriptionFilePlugin = require('./DescriptionFilePlugin'); + +import DescriptionFileUtils = require('./DescriptionFileUtils'); + +import DirectoryExistsPlugin = require('./DirectoryExistsPlugin'); + +import FileExistsPlugin = require('./FileExistsPlugin'); + +import FileKindPlugin = require('./FileKindPlugin'); + +import getPaths, { basename } from './getPaths'; + +import { globToRegExp } from './globToRegExp'; + +import JoinRequestPlugin = require('./JoinRequestPlugin'); + +import LogInfoPlugin = require('./LogInfoPlugin'); + +import MainFieldPlugin = require('./MainFieldPlugin'); + +import ModuleAppendPlugin = require('./ModuleAppendPlugin'); + +import ModuleKindPlugin = require('./ModuleKindPlugin'); + +import ModulesInHierachicDirectoriesPlugin = require('./ModulesInHierachicDirectoriesPlugin'); + +import ModulesInRootPlugin = require('./ModulesInRootPlugin'); + +import NextPlugin = require('./NextPlugin'); + +import ParsePlugin = require('./ParsePlugin'); + +import Resolver = require('./Resolver'); + +import ResultPlugin = require('./ResultPlugin'); + +import Storage from './Storage' + +import SymlinkPlugin = require('./SymlinkPlugin'); + +import TryNextPlugin = require('./TryNextPlugin'); + +import UnsafeCachePlugin = require('./UnsafeCachePlugin'); + +import UseFilePlugin = require('./UseFilePlugin'); + +import resolve = require('../'); + +import { BaseFileSystem } from './common-types' + +const aplugin = new AliasFieldPlugin('a', 'b', 'c'); + +const aplugin2 = new AliasPlugin('a', { + onlyModule: false, + name: 'a', + alias: 'b' +}, 'string') + +const aplugin3 = new AppendPlugin('a', 'b', 'c'); + +const cplugin = new CloneBasenamePlugin('a', 'c'); + +const cplugin2 = new ConcordExtensionsPlugin('a', {}, 'b'); + +const cplugin3 = new ConcordMainPlugin('string', {}, 'string'); + +const cplugin4 = new ConcordModulesPlugin('string', {}, 'string'); + +const dplugin = new DescriptionFilePlugin('string', 'string', 'string'); + +DescriptionFileUtils.cdUp('./lib'); +DescriptionFileUtils.getField({}, 'hi'); +DescriptionFileUtils.loadDescriptionFile(resolve.ResolverFactory.createResolver({ + extensions: [''], + fileSystem: {} +}), './lib', ['file'], function () { }); + +const dplugin1 = new DirectoryExistsPlugin('string', 'string'); + +const fplugin = new FileExistsPlugin('string', 's'); + +const fplugin2 = new FileKindPlugin('string', 's'); + +getPaths('./lib'); + +basename('./lib'); + +globToRegExp('lib/**'); + +const jplugin = new JoinRequestPlugin('string', 's'); + +const lplugin = new LogInfoPlugin('string'); + +const mplugin = new MainFieldPlugin('string', { + name: 'hi', + forceRelative: false +}, 's'); + +const mplugin2 = new ModuleAppendPlugin('string', 'ap', 's'); + +const mplugin3 = new ModuleKindPlugin('string', 's'); + +const mplugin4 = new ModulesInHierachicDirectoriesPlugin('string', ['arr'], 's'); + +const mplugin5 = new ModulesInRootPlugin('string', 'ap', 's'); + +const nplugin = new NextPlugin('string', 'ap'); + +const pplugin = new ParsePlugin('string', 'ap'); + +const resolver = new Resolver({} as BaseFileSystem); + +const rplugin = new ResultPlugin('string'); + +const splugin = new SymlinkPlugin('string', 's'); + +const tplugin = new TryNextPlugin('string', 'ap', 's'); + +const uplugin = new UnsafeCachePlugin('string', function (e) { return false }, {}, 's'); + +const uplugin2 = new UseFilePlugin('string', 'ap', 's'); + +const s = new Storage(4); diff --git a/enhanced-resolve/tsconfig.json b/enhanced-resolve/tsconfig.json index b08f2792f0..96a70f3bf2 100644 --- a/enhanced-resolve/tsconfig.json +++ b/enhanced-resolve/tsconfig.json @@ -1,18 +1,20 @@ { - "compilerOptions": { - "module": "commonjs", - "target": "es6", - "noImplicitAny": true, - "strictNullChecks": true, - "baseUrl": "../", - "typeRoots": [ - "../" - ], - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true - }, - "include": [ - "**/*.ts" - ] + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "include": [ + "index.d.ts", + "enhanced-resolve-tests.ts", + "lib/*.ts" + ] } From 4a58fd449694292a464eb190d78d0b457ace6605 Mon Sep 17 00:00:00 2001 From: e-cloud Date: Thu, 10 Nov 2016 17:39:35 +0800 Subject: [PATCH 3/4] fix: definition message --- enhanced-resolve/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enhanced-resolve/index.d.ts b/enhanced-resolve/index.d.ts index 0a1f4723e8..56406744d2 100644 --- a/enhanced-resolve/index.d.ts +++ b/enhanced-resolve/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for tapable v0.2.4 +// Type definitions for enhanced-resolve v2.3.0 // Project: http://github.com/webpack/tapable.git // Definitions by: e-cloud // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped From 6b43a0fa26502da00e2f67a5a3e600128ae3a23a Mon Sep 17 00:00:00 2001 From: e-cloud Date: Fri, 11 Nov 2016 11:06:03 +0800 Subject: [PATCH 4/4] fix: Object type, relative paths in test and repo link --- enhanced-resolve/enhanced-resolve-tests.ts | 6 +- enhanced-resolve/index.d.ts | 2 +- .../lib/ConcordExtensionsPlugin.d.ts | 4 +- enhanced-resolve/lib/ConcordMainPlugin.d.ts | 4 +- .../lib/ConcordModulesPlugin.d.ts | 4 +- enhanced-resolve/lib/Storage.d.ts | 8 +- enhanced-resolve/lib/UnsafeCachePlugin.d.ts | 4 +- enhanced-resolve/lib/lib-tests.ts | 82 +++++++++++-------- 8 files changed, 65 insertions(+), 49 deletions(-) diff --git a/enhanced-resolve/enhanced-resolve-tests.ts b/enhanced-resolve/enhanced-resolve-tests.ts index ed04190fbb..6588bb125b 100644 --- a/enhanced-resolve/enhanced-resolve-tests.ts +++ b/enhanced-resolve/enhanced-resolve-tests.ts @@ -1,7 +1,7 @@ import resolve = require('enhanced-resolve'); -import { Context } from './lib/concord'; -import { ResolveResult } from './lib/common-types' -import Resolver = require('./lib/Resolver') +import { Context } from 'enhanced-resolve/lib/concord'; +import { ResolveResult } from 'enhanced-resolve/lib/common-types' +import Resolver = require('enhanced-resolve/lib/Resolver') resolve('lib', 'string', function (err) { }); diff --git a/enhanced-resolve/index.d.ts b/enhanced-resolve/index.d.ts index 56406744d2..142e644bd1 100644 --- a/enhanced-resolve/index.d.ts +++ b/enhanced-resolve/index.d.ts @@ -1,5 +1,5 @@ // Type definitions for enhanced-resolve v2.3.0 -// Project: http://github.com/webpack/tapable.git +// Project: http://github.com/webpack/enhanced-resolve.git // Definitions by: e-cloud // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/enhanced-resolve/lib/ConcordExtensionsPlugin.d.ts b/enhanced-resolve/lib/ConcordExtensionsPlugin.d.ts index 84078c327a..89d0880350 100644 --- a/enhanced-resolve/lib/ConcordExtensionsPlugin.d.ts +++ b/enhanced-resolve/lib/ConcordExtensionsPlugin.d.ts @@ -1,10 +1,10 @@ import Resolver = require('./Resolver'); declare class ConcordExtensionsPlugin { source: string; - options: Object; + options: {}; target: string; - constructor(source: string, options: Object, target: string); + constructor(source: string, options: {}, target: string); apply(resolver: Resolver): void; } diff --git a/enhanced-resolve/lib/ConcordMainPlugin.d.ts b/enhanced-resolve/lib/ConcordMainPlugin.d.ts index edbf1627a0..9d2fdf3d44 100644 --- a/enhanced-resolve/lib/ConcordMainPlugin.d.ts +++ b/enhanced-resolve/lib/ConcordMainPlugin.d.ts @@ -1,10 +1,10 @@ import Resolver = require('./Resolver'); declare class ConcordMainPlugin { source: string; - options: Object; + options: {}; target: string; - constructor(source: string, options: Object, target: string); + constructor(source: string, options: {}, target: string); apply(resolver: Resolver): void; } diff --git a/enhanced-resolve/lib/ConcordModulesPlugin.d.ts b/enhanced-resolve/lib/ConcordModulesPlugin.d.ts index c0835be799..3afbd32a9c 100644 --- a/enhanced-resolve/lib/ConcordModulesPlugin.d.ts +++ b/enhanced-resolve/lib/ConcordModulesPlugin.d.ts @@ -1,10 +1,10 @@ import Resolver = require('./Resolver'); declare class ConcordModulesPlugin { source: string; - options: Object; + options: {}; target: string; - constructor(source: string, options: Object, target: string); + constructor(source: string, options: {}, target: string); apply(resolver: Resolver): void; } diff --git a/enhanced-resolve/lib/Storage.d.ts b/enhanced-resolve/lib/Storage.d.ts index 17557d61a7..4260b42ee7 100644 --- a/enhanced-resolve/lib/Storage.d.ts +++ b/enhanced-resolve/lib/Storage.d.ts @@ -3,8 +3,12 @@ import { CommonFileSystemMethod } from './common-types'; declare class Storage { duration: number; - running: Object; - data: Object; + running: { + [name: string]: ((...args: any[]) => any)[] + }; + data: { + [name: string]: any[] + }; levels: string[][]; count: number; interval: NodeJS.Timer | null; diff --git a/enhanced-resolve/lib/UnsafeCachePlugin.d.ts b/enhanced-resolve/lib/UnsafeCachePlugin.d.ts index 7c7ed55ea6..8b8c8f5f09 100644 --- a/enhanced-resolve/lib/UnsafeCachePlugin.d.ts +++ b/enhanced-resolve/lib/UnsafeCachePlugin.d.ts @@ -3,10 +3,10 @@ import { ResolverRequest } from './common-types'; declare class UnsafeCachePlugin { source: string; filterPredicate: (str: ResolverRequest) => boolean; - cache: Object; + cache: {}; target: string; - constructor(source: string, filterPredicate: (str: ResolverRequest) => boolean, cache: Object, target: string); + constructor(source: string, filterPredicate: (str: ResolverRequest) => boolean, cache: {}, target: string); apply(resolver: Resolver): void; } diff --git a/enhanced-resolve/lib/lib-tests.ts b/enhanced-resolve/lib/lib-tests.ts index 9a7c043cca..a41e5d9aeb 100644 --- a/enhanced-resolve/lib/lib-tests.ts +++ b/enhanced-resolve/lib/lib-tests.ts @@ -1,66 +1,66 @@ -import AliasFieldPlugin = require('./AliasFieldPlugin'); +import AliasFieldPlugin = require('enhanced-resolve/lib/AliasFieldPlugin'); -import AliasPlugin = require('./AliasPlugin'); +import AliasPlugin = require('enhanced-resolve/lib/AliasPlugin'); -import AppendPlugin = require('./AppendPlugin'); +import AppendPlugin = require('enhanced-resolve/lib/AppendPlugin'); -import CloneBasenamePlugin = require('./CloneBasenamePlugin'); +import CloneBasenamePlugin = require('enhanced-resolve/lib/CloneBasenamePlugin'); -import ConcordExtensionsPlugin = require('./ConcordExtensionsPlugin'); +import ConcordExtensionsPlugin = require('enhanced-resolve/lib/ConcordExtensionsPlugin'); -import ConcordMainPlugin = require('./ConcordMainPlugin'); +import ConcordMainPlugin = require('enhanced-resolve/lib/ConcordMainPlugin'); -import ConcordModulesPlugin = require('./ConcordModulesPlugin'); +import ConcordModulesPlugin = require('enhanced-resolve/lib/ConcordModulesPlugin'); -import DescriptionFilePlugin = require('./DescriptionFilePlugin'); +import DescriptionFilePlugin = require('enhanced-resolve/lib/DescriptionFilePlugin'); -import DescriptionFileUtils = require('./DescriptionFileUtils'); +import DescriptionFileUtils = require('enhanced-resolve/lib/DescriptionFileUtils'); -import DirectoryExistsPlugin = require('./DirectoryExistsPlugin'); +import DirectoryExistsPlugin = require('enhanced-resolve/lib/DirectoryExistsPlugin'); -import FileExistsPlugin = require('./FileExistsPlugin'); +import FileExistsPlugin = require('enhanced-resolve/lib/FileExistsPlugin'); -import FileKindPlugin = require('./FileKindPlugin'); +import FileKindPlugin = require('enhanced-resolve/lib/FileKindPlugin'); -import getPaths, { basename } from './getPaths'; +import getPaths, { basename } from 'enhanced-resolve/lib/getPaths'; -import { globToRegExp } from './globToRegExp'; +import { globToRegExp } from 'enhanced-resolve/lib/globToRegExp'; -import JoinRequestPlugin = require('./JoinRequestPlugin'); +import JoinRequestPlugin = require('enhanced-resolve/lib/JoinRequestPlugin'); -import LogInfoPlugin = require('./LogInfoPlugin'); +import LogInfoPlugin = require('enhanced-resolve/lib/LogInfoPlugin'); -import MainFieldPlugin = require('./MainFieldPlugin'); +import MainFieldPlugin = require('enhanced-resolve/lib/MainFieldPlugin'); -import ModuleAppendPlugin = require('./ModuleAppendPlugin'); +import ModuleAppendPlugin = require('enhanced-resolve/lib/ModuleAppendPlugin'); -import ModuleKindPlugin = require('./ModuleKindPlugin'); +import ModuleKindPlugin = require('enhanced-resolve/lib/ModuleKindPlugin'); -import ModulesInHierachicDirectoriesPlugin = require('./ModulesInHierachicDirectoriesPlugin'); +import ModulesInHierachicDirectoriesPlugin = require('enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin'); -import ModulesInRootPlugin = require('./ModulesInRootPlugin'); +import ModulesInRootPlugin = require('enhanced-resolve/lib/ModulesInRootPlugin'); -import NextPlugin = require('./NextPlugin'); +import NextPlugin = require('enhanced-resolve/lib/NextPlugin'); -import ParsePlugin = require('./ParsePlugin'); +import ParsePlugin = require('enhanced-resolve/lib/ParsePlugin'); -import Resolver = require('./Resolver'); +import Resolver = require('enhanced-resolve/lib/Resolver'); -import ResultPlugin = require('./ResultPlugin'); +import ResultPlugin = require('enhanced-resolve/lib/ResultPlugin'); -import Storage from './Storage' +import Storage from 'enhanced-resolve/lib/Storage' -import SymlinkPlugin = require('./SymlinkPlugin'); +import SymlinkPlugin = require('enhanced-resolve/lib/SymlinkPlugin'); -import TryNextPlugin = require('./TryNextPlugin'); +import TryNextPlugin = require('enhanced-resolve/lib/TryNextPlugin'); -import UnsafeCachePlugin = require('./UnsafeCachePlugin'); +import UnsafeCachePlugin = require('enhanced-resolve/lib/UnsafeCachePlugin'); -import UseFilePlugin = require('./UseFilePlugin'); +import UseFilePlugin = require('enhanced-resolve/lib/UseFilePlugin'); import resolve = require('../'); -import { BaseFileSystem } from './common-types' +import { BaseFileSystem } from 'enhanced-resolve/lib/common-types' const aplugin = new AliasFieldPlugin('a', 'b', 'c'); @@ -74,11 +74,20 @@ const aplugin3 = new AppendPlugin('a', 'b', 'c'); const cplugin = new CloneBasenamePlugin('a', 'c'); -const cplugin2 = new ConcordExtensionsPlugin('a', {}, 'b'); +const cplugin2 = new ConcordExtensionsPlugin('a', { + any: 'string', + right: false +}, 'b'); -const cplugin3 = new ConcordMainPlugin('string', {}, 'string'); +const cplugin3 = new ConcordMainPlugin('string', { + any: 'string', + right: false +}, 'string'); -const cplugin4 = new ConcordModulesPlugin('string', {}, 'string'); +const cplugin4 = new ConcordModulesPlugin('string', { + any: 'string', + right: false +}, 'string'); const dplugin = new DescriptionFilePlugin('string', 'string', 'string'); @@ -130,7 +139,10 @@ const splugin = new SymlinkPlugin('string', 's'); const tplugin = new TryNextPlugin('string', 'ap', 's'); -const uplugin = new UnsafeCachePlugin('string', function (e) { return false }, {}, 's'); +const uplugin = new UnsafeCachePlugin('string', function (e) { return false }, { + hi: 'string', + hello: true +}, 's'); const uplugin2 = new UseFilePlugin('string', 'ap', 's');