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
すべてのpackage名が解決された.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 = {
}
参照元
環境EnvironmentFeature parcel/packages/core/types/index.js:192
型
type EnvironmentFeature = 'esmodules' | 'dynamic-import' | 'worker-module' | 'service-worker-module' | 'import-meta-url' | 'arrow-functions';
参照元
環境Environment parcel/packages/core/types/index.js:203
出力バンドルの環境を定義します
interface Environment {
+id: string,
+context: EnvironmentContext,
+engines: Engines,
+includeNodeModules: boolean | Array<PackageName> | {
[PackageName]: boolean,
...
},
すべての/いずれのpackageを含めるか(`true/false`)、含めるpackage名の配列、またはオブジェクト(packageが指定されていない場合、含まれる)。
+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,
|}>,
このdev依存関係が無効になった場合、これらの依存関係も無効にします。これは、Parcelプラグインまたは他の親依存関係が、Nodeのrequireキャッシュ以外のこのdev依存関係に対する独自のキャッシュを持つ場合に便利です。
|}
参照元
設定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>,
|}