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>, |}