API
在 `@parcel/types` 中指定的剩余类型
AST parcel/packages/core/types/index.js:18
特定于插件的 AST,any
类型
type AST = _AST;
被引用
BaseAsset,BundleResult,MutableAsset,Transformer,TransformerResultConfigResult parcel/packages/core/types/index.js:19
类型
type ConfigResult = _ConfigResult;
被引用
MultiThreadValidatorConfigResultWithFilePath parcel/packages/core/types/index.js:21
特定于插件的配置结果,any
type ConfigResultWithFilePath<T> = {|
contents: T,
filePath: FilePath,
|}
被引用
配置EnvMap parcel/packages/core/types/index.js:26
process.env
类型
type EnvMap = typeof process.env;
被引用
InitialParcelOptions,PluginOptionsJSONValue parcel/packages/core/types/index.js:28
类型
type JSONValue = null | void | boolean | number | string | Array<JSONValue> | JSONObject;
JSONObject parcel/packages/core/types/index.js:38
一个 JSON 对象(如“映射”)
type JSONObject = {
}
被引用
JSONValue,Meta,ResolveResultPackageName parcel/packages/core/types/index.js:40
类型
type PackageName = string;
被引用
Environment,EnvironmentOptions,PackageJSON,PackageTargetDescriptor,RawParcelConfig,RawParcelConfigPipelineFilePath parcel/packages/core/types/index.js:41
类型
type FilePath = string;
被引用
BaseAsset,BundleGraph,Config,ConfigResultWithFilePath,Dependency,DependencyOptions,DevDepOptions,File,FileAboveInvalidation,FileInvalidation,HTTPSOptions,InitialParcelOptions,MutableAsset,Namer,PackageJSON,PackageTargetDescriptor,PackagedBundle,PluginOptions,RawParcelConfig,ResolveConfigFn,ResolveConfigWithPathFn,ResolveFn,ResolveResult,ResolvedParcelConfigFile,Resolver,RuntimeAsset,ServerOptions,Target,TargetDescriptor,TransformingProgressEvent,ValidationEventGlob parcel/packages/core/types/index.js:42
类型
type Glob = string;
被引用
GlobInvalidation,PackageJSON,RawParcelConfigSemverRange parcel/packages/core/types/index.js:44
类型
type SemverRange = string;
被引用
Dependency,DependencyOptions,DevDepOptions,EnginesDependencySpecifier parcel/packages/core/types/index.js:46
参见 Dependency
类型
type DependencySpecifier = string;
被引用
Dependency,DependencyOptions,DevDepOptions,InitialParcelOptionsRawParcelConfigPipeline parcel/packages/core/types/index.js:51
类型
type RawParcelConfigPipeline = Array<PackageName>;
被引用
RawParcelConfigHMROptions parcel/packages/core/types/index.js:53
type HMROptions = {
port?: number,
host?: string,
}
被引用
InitialParcelOptions,PluginOptionsRawParcelConfig parcel/packages/core/types/index.js:56
`.parcelrc` 的格式
type RawParcelConfig = {|
extends?: PackageName | FilePath | Array<PackageName | FilePath>,
resolvers?: RawParcelConfigPipeline,
transformers?: {
[Glob]: RawParcelConfigPipeline,
...
},
bundler?: PackageName,
namers?: RawParcelConfigPipeline,
runtimes?: RawParcelConfigPipeline,
packagers?: {
[Glob]: PackageName,
...
},
optimizers?: {
[Glob]: RawParcelConfigPipeline,
...
},
compressors?: {
[Glob]: RawParcelConfigPipeline,
...
},
reporters?: RawParcelConfigPipeline,
validators?: {
[Glob]: RawParcelConfigPipeline,
...
},
|}
被引用
ResolvedParcelConfigFileResolvedParcelConfigFile parcel/packages/core/types/index.js:71
所有包名都已解析的 `.parcelrc`
type ResolvedParcelConfigFile = {|
...RawParcelConfig,
+filePath: FilePath,
+resolveFrom?: FilePath,
|}
Engines parcel/packages/core/types/index.js:78
对应于 pkg#engines
type Engines = {
+browsers?: string | Array<string>,
+electron?: SemverRange,
+node?: SemverRange,
+parcel?: SemverRange,
}
被引用
Environment,EnvironmentOptions,InitialParcelOptions,PackageJSON,PackageTargetDescriptorTargetSourceMapOptions parcel/packages/core/types/index.js:87
对应于 pkg#targets.*.sourceMap
type TargetSourceMapOptions = {|
+sourceRoot?: string,
+inline?: boolean,
+inlineSources?: boolean,
|}
被引用
Environment,EnvironmentOptions,PackageTargetDescriptorTarget parcel/packages/core/types/index.js:96
解析后的 PackageTargetDescriptor 版本
interface Target {
+distEntry: ?FilePath,
入口的输出文件名
+distDir: FilePath,
输出文件夹
+env: Environment,
+name: string,
+publicUrl: string,
+loc: ?SourceLocation,
创建此 Target 的位置,例如 package.json#main
}
被引用
Bundle,BundleGraph,BundleGroup,CreateBundleOpts,Dependency,MutableBundleGraph,PackageTargetDescriptorEnvironmentContext parcel/packages/core/types/index.js:109
输出应该在哪个环境中运行(影响例如捆绑加载器)
类型
type EnvironmentContext = 'browser' | 'web-worker' | 'service-worker' | 'worklet' | 'node' | 'electron-main' | 'electron-renderer';
被引用
Environment,EnvironmentOptions,PackageTargetDescriptorOutputFormat parcel/packages/core/types/index.js:119
捆绑输出的 JS 模块格式
类型
type OutputFormat = 'esmodule' | 'commonjs' | 'global';
被引用
Environment,EnvironmentOptions,InitialParcelOptions,PackageTargetDescriptorPackageTargetDescriptor parcel/packages/core/types/index.js:126
pkg#targets.*
的格式
参见 Environment 和 Target。
type PackageTargetDescriptor = {|
+context?: EnvironmentContext,
+engines?: Engines,
+includeNodeModules?: boolean | Array<PackageName> | {
[PackageName]: boolean,
...
},
+outputFormat?: OutputFormat,
+publicUrl?: string,
+distDir?: FilePath,
+sourceMap?: boolean | TargetSourceMapOptions,
+isLibrary?: boolean,
+optimize?: boolean,
+scopeHoist?: boolean,
+source?: FilePath | Array<FilePath>,
|}
被引用
PackageJSON,Target,TargetDescriptorTargetDescriptor parcel/packages/core/types/index.js:148
使用 JS API 时的目标格式。
(与 PackageTargetDescriptor 相同,但 distDir
是必需的。)
type TargetDescriptor = {|
...PackageTargetDescriptor,
+distDir: FilePath,
+distEntry?: FilePath,
|}
被引用
InitialParcelOptionsSourceType parcel/packages/core/types/index.js:154
类型
type SourceType = 'script' | 'module';
被引用
Environment,EnvironmentOptionsEnvironmentOptions parcel/packages/core/types/index.js:159
这在创建 Environment 时使用(参见该页面)。
type EnvironmentOptions = {|
+context?: EnvironmentContext,
+engines?: Engines,
+includeNodeModules?: boolean | Array<PackageName> | {
[PackageName]: boolean,
...
},
+outputFormat?: OutputFormat,
+sourceType?: SourceType,
+isLibrary?: boolean,
+shouldOptimize?: boolean,
+shouldScopeHoist?: boolean,
+sourceMap?: ?TargetSourceMapOptions,
+loc?: ?SourceLocation,
|}
被引用
DependencyOptions,MutableAsset,RuntimeAsset,TransformerResultVersionMap parcel/packages/core/types/index.js:187
解析后的 browserslist,例如:
{
edge: '76',
firefox: '67',
chrome: '63',
safari: '11.1',
opera: '50',
}
type VersionMap = {
}
被引用
EnvironmentEnvironmentFeature parcel/packages/core/types/index.js:192
类型
type EnvironmentFeature = 'esmodules' | 'dynamic-import' | 'worker-module' | 'service-worker-module' | 'import-meta-url' | 'arrow-functions';
被引用
EnvironmentEnvironment parcel/packages/core/types/index.js:203
定义输出捆绑包的环境
interface Environment {
+id: string,
+context: EnvironmentContext,
+engines: Engines,
+includeNodeModules: boolean | Array<PackageName> | {
[PackageName]: boolean,
...
},
是否包含所有/无包(true / false
)、要包含的包名称数组或对象(如果未指定包,则包含)。
+outputFormat: OutputFormat,
+sourceType: SourceType,
+isLibrary: boolean,
输出是否为库构建(例如,更少的加载器)。
+shouldOptimize: boolean,
输出是否应被缩小。
+shouldScopeHoist: boolean,
作用域提升是否启用。
+sourceMap: ?TargetSourceMapOptions,
+loc: ?SourceLocation,
isBrowser(): boolean,
context
是否指定浏览器上下文。
isNode(): boolean,
context
是否指定节点上下文。
isElectron(): boolean,
context
是否指定电子上下文。
isWorker(): boolean,
context
是否指定工作者上下文。
isWorklet(): boolean,
context
是否指定工作线程上下文。
isIsolated(): boolean,
context
是否指定隔离上下文(无法访问其他已加载的祖先捆绑包)。
matchesEngines(minVersions: VersionMap, defaultValue?: boolean): boolean,
supports(feature: EnvironmentFeature, defaultValue?: boolean): boolean,
}
被引用
BaseAsset,Bundle,Config,CreateBundleOpts,Dependency,EnvironmentOptions,PackageTargetDescriptor,Target,TransformerResultPackageDependencies parcel/packages/core/types/index.js:245
pkg#dependencies
、pkg#devDependencies
、pkg#peerDependencies
的格式
type PackageDependencies = {|
|}
被引用
PackageJSONPackageJSON parcel/packages/core/types/index.js:252
package.json
的格式
type PackageJSON = {
name: PackageName,
version: Semver,
type?: 'module',
main?: FilePath,
module?: FilePath,
types?: FilePath,
browser?: FilePath | {
[FilePath]: FilePath | boolean,
...
},
source?: FilePath | Array<FilePath>,
alias?: {
[PackageName | FilePath | Glob]: PackageName | FilePath | {|
global: string
|},
...
},
browserslist?: Array<string> | {
[string]: Array<string>
},
engines?: Engines,
targets?: {
[string]: PackageTargetDescriptor,
...
},
dependencies?: PackageDependencies,
devDependencies?: PackageDependencies,
peerDependencies?: PackageDependencies,
sideEffects?: boolean | FilePath | Array<FilePath>,
bin?: string | {|
[string]: FilePath
|},
}
被引用
配置LogLevel parcel/packages/core/types/index.js:279
类型
type LogLevel = 'none' | 'error' | 'warn' | 'info' | 'verbose';
被引用
InitialParcelOptions,PluginOptionsBuildMode parcel/packages/core/types/index.js:280
类型
type BuildMode = 'development' | 'production' | string;
被引用
InitialParcelOptions,PluginOptionsDetailedReportOptions parcel/packages/core/types/index.js:281
type DetailedReportOptions = {|
assetsPerBundle?: number,
|}
被引用
InitialParcelOptions,PluginOptionsInitialParcelOptions parcel/packages/core/types/index.js:285
type InitialParcelOptions = {|
+entries?: FilePath | Array<FilePath>,
+config?: DependencySpecifier,
+defaultConfig?: DependencySpecifier,
+env?: EnvMap,
+targets?: ?(Array<string> | {
+[string]: TargetDescriptor,
...
}),
+shouldDisableCache?: boolean,
+cacheDir?: FilePath,
+mode?: BuildMode,
+hmrOptions?: ?HMROptions,
+shouldContentHash?: boolean,
+serveOptions?: InitialServerOptions | false,
+shouldAutoInstall?: boolean,
+logLevel?: LogLevel,
+shouldProfile?: boolean,
+shouldPatchConsole?: boolean,
+shouldBuildLazily?: boolean,
+shouldBundleIncrementally?: boolean,
+inputFS?: FileSystem,
+outputFS?: FileSystem,
+cache?: Cache,
+workerFarm?: WorkerFarm,
+packageManager?: PackageManager,
+detailedReport?: ?DetailedReportOptions,
+defaultTargetOptions?: {|
+shouldOptimize?: boolean,
+shouldScopeHoist?: boolean,
+sourceMaps?: boolean,
+publicUrl?: string,
+distDir?: FilePath,
+engines?: Engines,
+outputFormat?: OutputFormat,
+isLibrary?: boolean,
|},
+additionalReporters?: Array<{|
packageName: DependencySpecifier,
resolveFrom: FilePath,
|}>,
|}
InitialServerOptions parcel/packages/core/types/index.js:332
type InitialServerOptions = {|
+publicUrl?: string,
+host?: string,
+port: number,
+https?: HTTPSOptions | boolean,
|}
被引用
InitialParcelOptionsPluginOptions parcel/packages/core/types/index.js:339
interface PluginOptions {
+mode: BuildMode,
+env: EnvMap,
+hmrOptions: ?HMROptions,
+serveOptions: ServerOptions | false,
+shouldBuildLazily: boolean,
+shouldAutoInstall: boolean,
+logLevel: LogLevel,
+projectRoot: FilePath,
+cacheDir: FilePath,
+inputFS: FileSystem,
+outputFS: FileSystem,
+packageManager: PackageManager,
+instanceId: string,
+detailedReport: ?DetailedReportOptions,
}
被引用
Bundler,Compressor,DedicatedThreadValidator,MultiThreadValidator,Namer,Optimizer,Packager,Reporter,Resolver,Runtime,TransformerServerOptions parcel/packages/core/types/index.js:356
type ServerOptions = {|
+distDir: FilePath,
+host?: string,
+port: number,
+https?: HTTPSOptions | boolean,
+publicUrl?: string,
|}
被引用
PluginOptionsHTTPSOptions parcel/packages/core/types/index.js:364
type HTTPSOptions = {|
+cert: FilePath,
+key: FilePath,
|}
被引用
InitialServerOptions,ServerOptionsSourceLocation parcel/packages/core/types/index.js:372
源位置是 1 为基准,这意味着行和列从 1 开始
type SourceLocation = {|
+filePath: string,
+start: {|
+line: number,
+column: number,
|},
包含
+end: {|
+line: number,
+column: number,
|},
排除
|}
被引用
AssetSymbols,Dependency,DependencyOptions,Environment,EnvironmentOptions,MutableAssetSymbols,MutableDependencySymbols,SymbolResolution,Target,TransformerResultMeta parcel/packages/core/types/index.js:389
插件可以写入任意数据的对象。
类型
type Meta = JSONObject;
被引用
AssetSymbols,BaseAsset,Dependency,DependencyOptions,MutableAssetSymbols,MutableDependencySymbols,TransformerResultSymbol parcel/packages/core/types/index.js:394
资产中的标识符(可能是导入/导出)。
类型
type Symbol = string;
被引用
AssetSymbols,BundleGraph,DependencyOptions,ExportSymbolResolution,MutableAssetSymbols,MutableDependencySymbols,SymbolResolution,TransformerResultAssetSymbols parcel/packages/core/types/index.js:399
导出名称到相应资产的本地变量名称的映射。
interface AssetSymbols extends Iterable<[Symbol, {|
local: Symbol,
loc: ?SourceLocation,
meta?: ?Meta,
|}]> {
+isCleared: boolean,
资产的导出是未知的,而不是仅仅为空。这是默认状态。
get(exportSymbol: Symbol): ?{|
local: Symbol,
loc: ?SourceLocation,
meta?: ?Meta,
|},
hasExportSymbol(exportSymbol: Symbol): boolean,
hasLocalSymbol(local: Symbol): boolean,
exportSymbols(): Iterable<Symbol>,
}
被引用
BaseAsset,MutableAssetSymbolsMutableAssetSymbols parcel/packages/core/types/index.js:418
interface MutableAssetSymbols extends AssetSymbols {
ensure(): void,
初始化映射,将 isCleared 设置为 false。
set(exportSymbol: Symbol, local: Symbol, loc: ?SourceLocation, meta?: ?Meta): void,
delete(exportSymbol: Symbol): void,
}
被引用
MutableAssetMutableDependencySymbols parcel/packages/core/types/index.js:435
isWeak 意味着:符号本身没有被父资产使用,只是被重新导出
interface MutableDependencySymbols extends Iterable<[Symbol, {|
local: Symbol,
loc: ?SourceLocation,
isWeak: boolean,
meta?: ?Meta,
|}]> {
ensure(): void,
初始化映射,将 isCleared 设置为 false。
+isCleared: boolean,
导入的符号是未知的,而不是仅仅为空。这是默认状态。
get(exportSymbol: Symbol): ?{|
local: Symbol,
loc: ?SourceLocation,
isWeak: boolean,
meta?: ?Meta,
|},
hasExportSymbol(exportSymbol: Symbol): boolean,
hasLocalSymbol(local: Symbol): boolean,
exportSymbols(): Iterable<Symbol>,
set(exportSymbol: Symbol, local: Symbol, loc: ?SourceLocation, isWeak: ?boolean): void,
delete(exportSymbol: Symbol): void,
}
被引用
DependencyDependencyPriority parcel/packages/core/types/index.js:469
类型
type DependencyPriority = 'sync' | 'parallel' | 'lazy';
被引用
Dependency,DependencyOptions,ResolveResultSpecifierType parcel/packages/core/types/index.js:470
类型
type SpecifierType = 'commonjs' | 'esm' | 'url' | 'custom';
被引用
Dependency,DependencyOptions,ResolveOptionsBundleBehavior parcel/packages/core/types/index.js:644
类型
type BundleBehavior = 'inline' | 'isolated';
被引用
BaseAsset,Bundle,CreateBundleOpts,Dependency,DependencyOptions,MutableAsset,TransformerResultDevDepOptions parcel/packages/core/types/index.js:790
type DevDepOptions = {|
specifier: DependencySpecifier,
resolveFrom: FilePath,
range?: ?SemverRange,
additionalInvalidations?: Array<{|
specifier: DependencySpecifier,
resolveFrom: FilePath,
range?: ?SemverRange,
|}>,
当此开发依赖项失效时,也会使这些依赖项失效。如果 Parcel 插件或其他父依赖项对该开发依赖项有自己的缓存,而不是 Node 的 require 缓存,这将很有用。
|}
被引用
配置Stats parcel/packages/core/types/index.js:874
type Stats = {|
time: number,
size: number,
|}
被引用
Asset,PackagedBundleBlob parcel/packages/core/types/index.js:887
类型
type Blob = string | Buffer | Readable;
被引用
BundleResult,GenerateOutput,Optimizer,Packager,TransformerResultAsync parcel/packages/core/types/index.js:941
类型
type Async<T> = T | Promise<T>;
被引用
Bundler,Compressor,DedicatedThreadValidator,MultiThreadValidator,Namer,Optimizer,Packager,Reporter,Resolver,Runtime,TransformerPackagedBundle parcel/packages/core/types/index.js:1330
interface PackagedBundle extends NamedBundle {
+filePath: FilePath,
写入捆绑包的绝对文件路径,包括最终内容哈希(如果有)。
+stats: Stats,
有关捆绑包的统计信息。
}
被引用
BuildSuccessEventGlobInvalidation parcel/packages/core/types/index.js:1518
type GlobInvalidation = {|
glob: Glob,
|}
被引用
FileCreateInvalidationFileInvalidation parcel/packages/core/types/index.js:1522
type FileInvalidation = {|
filePath: FilePath,
|}
被引用
FileCreateInvalidationFileAboveInvalidation parcel/packages/core/types/index.js:1526
type FileAboveInvalidation = {|
fileName: string,
aboveFilePath: FilePath,
|}
被引用
FileCreateInvalidationFileCreateInvalidation parcel/packages/core/types/index.js:1531
类型
type FileCreateInvalidation = FileInvalidation | GlobInvalidation | FileAboveInvalidation;
被引用
Config,MutableAsset,ResolveResultRuntimeAssetPriority parcel/packages/core/types/index.js:1613
类型
type RuntimeAssetPriority = 'sync' | 'parallel';
被引用
RuntimeAssetBundledProgressEvent parcel/packages/core/types/index.js:1826
type BundledProgressEvent = {|
+type: 'buildProgress',
+phase: 'bundled',
+bundleGraph: BundleGraph<NamedBundle>,
+changedAssets: Map<string, Asset>,
|}
被引用
BuildProgressEventErrorWithCode parcel/packages/core/types/index.js:1923
interface ErrorWithCode extends Error {
+code?: string,
}
AsyncSubscription parcel/packages/core/types/index.js:1931
type AsyncSubscription = {|
unsubscribe(): Promise<mixed>,
|}