[go: up one dir, main page]

Stats

object string

stats 옵션을 사용하면 표시되는 번들 정보를 정확하게 제어할 수 있습니다. 번들 정보를 얻고 싶지만 전부에 대한 정보를 얻고자 하는 것은 아닐 것이기 때문에 quiet 또는 noInfo를 사용하지 않는 경우 좋은 절충안이 될 수 있습니다.

export default {
  // ...
  stats: "errors-only",
};

Stats Presets

Webpack은 stats 출력에 사용할 수있는 특정 프리셋을 함께 제공합니다.

PresetAlternativeDescription
'errors-only'none에러가 발생할 때만 출력
'errors-warnings'none에러와 경고가 발생할 때만 출력
'minimal'none에러와 새로운 컴파일이 발생할 때만 출력
'none'false출력 없음
'normal'true표준 출력
'verbose'none모두 출력
'detailed'none'verbose'와 유사하지만 chunkModules, chunkGroupResourceHints, dependentModules, reasons, orphanModules, errorStack, env, children 없이, errorsSpace, warningsSpace, modulesSpace, assetsSpace, reasonsSpace가 1000으로 제한됩니다.
'summary'nonewebpack 버전, 경고 횟수, 에러 횟수를 출력

Stats Options

stats 출력에서 보고 싶은 정보를 설정할 수 있습니다.

stats.all

정의되지 않은 경우 stats 옵션의 폴백입니다. 로컬 webpack의 기본값보다 우선시 됩니다.

export default {
  // ...
  stats: {
    all: undefined,
  },
};

stats.assets

boolean = true

애셋 정보 표시 여부를 stats에 알려줍니다. 이 정보를 숨기려면 stats.assets을 false로 설정하세요.

export default {
  // ...
  stats: {
    assets: false,
  },
};

stats.assetsSort

string = '!size' false

주어진 필드를 기준으로 애셋을 정렬하도록 stats에 지시합니다. 모든 정렬 필드는 stats.assetsSort의 값으로 사용할 수 있습니다. 값에 !접두사를 사용하여 주어진 필드의 정렬 순서를 반대로 할 수 있습니다. false로 설정하면 정렬을 비활성화합니다.

export default {
  // ...
  stats: {
    assetsSort: "!size",
  },
};

stats.assetsSpace

number = 15

표시되어야 하는 애셋의 수를 stats에 알려줍니다. 그룹인 경우 이 크기에 맞게 축소됩니다.

export default {
  // ...
  stats: {
    assetsSpace: 15,
  },
};

stats.builtAt

boolean = false

빌드 날짜 및 빌드 시간 정보를 추가할지 여부를 stats에 알려줍니다. 숨기려면 stats.builtAt을 false로 설정하세요.

export default {
  // ...
  stats: {
    builtAt: false,
  },
};

stats.cached

stats.cachedModules의 오래된 버전입니다.

stats.cachedAssets

boolean = false

캐시 된 애셋에 대한 정보를 추가할지 여부를 stats에 알려줍니다. stats.cachedAssets을 false로 설정하면 stats에 생성된 파일이 아닌 내보낸 파일만 표시됩니다.

export default {
  // ...
  stats: {
    cachedAssets: false,
  },
};

stats.cachedModules

boolean = false

빌드되지 않고 캐시 된 모듈에 대한 정보를 추가할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    cachedModules: false,
  },
};

stats.children

boolean = false

children에 대한 정보를 추가할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    children: false,
  },
};

stats.chunkGroupAuxiliary

boolean = false

청크 그룹에 보조 애셋을 표시합니다.

export default {
  // ...
  stats: {
    chunkGroupAuxiliary: false,
  },
};

stats.chunkGroupChildren

boolean = false

프리페치, 프리로드 된 청크 및 애셋 같은 청크 그룹의 하위 항목을 표시합니다.

export default {
  // ...
  stats: {
    chunkGroupChildren: false,
  },
};

stats.chunkGroupResourceHints

boolean = false

각 엔트리포인트의 해석된 resource-hint 설명자를 entrypoints[name].resourceHints로 포함합니다. output.resourceHints.chunks(초기 그래프에 대한 modulepreload / preload / prefetch 힌트)와 output.resourceHints.assets(폰트, 이미지 및 기타 URL 참조 애셋)를 결합합니다.

이를 통해 서버 사이드 렌더러가 청크 그래프를 순회하는 대신 <link> 태그를 직접 출력할 수 있습니다. stats.toString()에서는 false이고 stats.toJson()에서는 true입니다.

export default {
  // ...
  stats: {
    chunkGroupResourceHints: true,
  },
};

stats.chunkGroupMaxAssets

number

청크 그룹에 표시되는 애셋의 제한.

export default {
  // ...
  stats: {
    chunkGroupMaxAssets: 5,
  },
};

stats.chunkGroups

boolean = false

namedChunkGroups에 대한 정보를 추가할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    chunkGroups: false,
  },
};

stats.chunkModules

boolean = true

빌드된 모듈에 대한 정보를 청크에 대한 정보에 추가할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    chunkModules: false,
  },
};

stats.chunkModulesSpace

number = 10

표시되어야 하는 청크 모듈의 수를 stats에 알려줍니다. 그룹인 경우 이 크기에 맞게 축소됩니다.

export default {
  // ...
  stats: {
    chunkModulesSpace: 15,
  },
};

stats.chunkOrigins

boolean = false

청크 및 청크 병합의 출처에 대한 정보를 추가할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    chunkOrigins: false,
  },
};

stats.chunkRelations

boolean = false

stats에 청크의 부모, 자식 및 형제를 표시하도록 지시합니다.

export default {
  // ...
  stats: {
    chunkRelations: false,
  },
};

stats.chunks

boolean = false

청크에 대한 정보를 추가할지 여부를 stats에 알려줍니다. stats.chunks를 false로 설정하면 출력이 상세하게 표시되지 않습니다.

export default {
  // ...
  stats: {
    chunks: false,
  },
};

stats.chunksSort

string false

주어진 필드를 기준으로 청크를 정렬하도록 stats에 지시합니다. 모든 정렬 필드는 stats.chunksSort의 값으로 사용할 수 있습니다. 값에 !접두사를 사용하여 주어진 필드의 정렬 순서를 반대로 할 수 있습니다. 기본적으로 정렬은 비활성화되어 있습니다(false).

export default {
  // ...
  stats: {
    chunksSort: "name",
  },
};

stats.colors

boolean = false object

다른 색상으로 출력할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    colors: true,
  },
};

CLI 플래그로도 사용할 수 있습니다.

npx webpack --stats-colors

비활성화하려면:

npx webpack --no-stats-colors

ANSI 이스케이프 시퀀스를 사용하여 자신만의 터미널 출력 색상을 지정할 수 있습니다.

export default {
  // ...
  stats: {
    colors: {
      green: "\u001B[32m",
    },
  },
};

stats.context

string

stats 기본 디렉터리이며, 요청 정보를 단축하기 위한 절대경로 입니다.

import path from "node:path";
import { fileURLToPath } from "node:url";

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

export default {
  // ...
  stats: {
    context: path.resolve(__dirname, "src/components"),
  },
};

기본적으로 context 또는 Node.js의 현재 작업 디텍터리 값이 사용됩니다.

stats.dependentModules

boolean

청크의 다른 모듈에 종속된 청크 모듈을 표시할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    dependentModules: false,
  },
};

stats.depth

boolean = false

각 모듈의 엔트리 포인트로부터의 거리를 표시할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    depth: true,
  },
};

stats.entrypoints

boolean string = 'auto'

대응하는 번들과 함께 엔트리 포인트를 표시할지 여부를 stats에 알려줍니다. 문자열 출력에서는 기본값이 'auto'이고 stats.toJson()에서는 true입니다.

export default {
  // ...
  stats: {
    entrypoints: false,
  },
};

stats.entrypoints가 'auto'로 설정되면 webpack은 stats 출력에 엔트리 포인트를 표시할지 여부를 자동으로 결정합니다.

stats.env

boolean = false

--env정보를 표시할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    env: true,
  },
};

stats.errorCause

boolean "auto"

stats 함수에 오류의 cause 속성을 출력에 포함할지 여부를 지정합니다. 기본값은 true입니다.

export default {
  // ...
  stats: {
    errorCause: true,
  },
};

stats.errorDetails

boolean string = "auto"

에러에 세부 정보를 추가할지 여부를 stats에 알려줍니다. 기본값은 'auto'이며 에러가 2개 이하일 때 세부 정보를 표시합니다.

export default {
  // ...
  stats: {
    errorDetails: false,
  },
};

stats.errorErrors

boolean "auto"

stats에 AggregateError 인스턴스의 오류 배열을 출력에 포함할지 여부를 지정합니다. 기본값은 true입니다.

단일 오류가 여러 개의 기본 오류로 구성된 경우 유용하며, 그룹화된 오류 구조에 대한 더 깊은 가시성을 제공합니다.

export default {
  // ...
  stats: {
    errorErrors: true,
  },
};

stats.errorStack

boolean = false

에러 스택 추적을 표시할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    errorStack: false,
  },
};

stats.errors

boolean = true

에러를 표시할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    errors: false,
  },
};

stats.errorsCount

boolean = true

에러 횟수를 추가합니다.

export default {
  // ...
  stats: {
    errorsCount: false,
  },
};

stats.errorsSpace

5.80.0+

number

오류를 표시하기 위해 할당할 줄 수를 제한하도록 stats에 알려줍니다.

export default {
  // ...
  stats: {
    errorsSpace: 5,
  },
};

stats.exclude

stats.excludeAssets

(string | RegExp | ((name: string, asset: StatsAsset) => boolean))[] = [] string RegExp (name: string, asset: StatsAsset) => boolean

매칭되는 애셋 정보를 제외하도록 stats에 지시합니다. string, RegExp, 또는 애셋의 이름과 stats 객체를 받는 함수를 사용할 수 있습니다. stats.excludeAssets는 위의 항목들 중 하나로 구성된 array가 될 수 있습니다.

export default {
  // ...
  stats: {
    excludeAssets: [
      "filter",
      /filter/,
      (assetName) => assetName.contains("moduleA"),
    ],
  },
};

stats.excludeModules

(string | RegExp | ModuleFilterFn)[] = [] string RegExp ModuleFilterFn false

매칭되는 모듈 정보를 제외하도록 stats에 지시합니다. string, RegExp, 또는 ModuleFilterFn을 사용할 수 있습니다. stats.excludeModules는 위의 항목들 중 하나로 구성된 array가 될 수 있습니다.

type ModuleFilterFn = (
  name: string,
  module: StatsModule,
  type: "module" | "chunk" | "root-of-chunk" | "nested",
) => boolean;
export default {
  // ...
  stats: {
    excludeModules: ["filter", /filter/, (moduleName) => true],
  },
};

stats.excludeModules을 false로 설정하면 제외 동작이 비활성화됩니다.

export default {
  // ...
  stats: {
    excludeModules: false,
  },
};

stats.groupAssetsByChunk

boolean

애셋이 청크와 어떻게 관련되어 있는지에 따라 애셋을 그룹화할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    groupAssetsByChunk: false,
  },
};

stats.groupAssetsByEmitStatus

boolean

상태(방출, 방출을 위한 비교 또는 캐시)별로 애셋을 그룹화할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    groupAssetsByEmitStatus: false,
  },
};

stats.groupAssetsByExtension

boolean

확장자로 애셋을 그룹화할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    groupAssetsByExtension: false,
  },
};

stats.groupAssetsByInfo

boolean

애셋 정보(불변, 개발, hotModuleReplacement 등)별로 애셋을 그룹화할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    groupAssetsByInfo: false,
  },
};

stats.groupAssetsByPath

boolean

애셋 경로별로 애셋을 그룹화할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    groupAssetsByPath: false,
  },
};

stats.groupModulesByAttributes

boolean

속성(에러, 경고, 애셋, 선택적, 고아(orphan) 또는 종속)별로 모듈을 그룹화할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    groupModulesByAttributes: false,
  },
};

stats.groupModulesByCacheStatus

boolean

캐시 상태(캐시되었는지 혹은 빌드되고 캐시 가능한지)별로 모듈을 그룹화할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    groupModulesByCacheStatus: true,
  },
};

stats.groupModulesByExtension

boolean

확장자로 모듈을 그룹화할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    groupModulesByExtension: true,
  },
};

stats.groupModulesByLayer

boolean

모듈을 레이어별로 그룹화할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    groupModulesByLayer: true,
  },
};

stats.groupModulesByPath

boolean

모듈을 경로별로 그룹화할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    groupModulesByPath: true,
  },
};

stats.groupModulesByType

boolean

모듈을 유형별로 그룹화할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    groupModulesByType: true,
  },
};

stats.groupReasonsByOrigin

boolean

5.46.0+

reasons를 원래 모듈별로 그룹화해 많은 reasons 세트가 생성되는 것을 방지합니다.

export default {
  // ...
  stats: {
    groupReasonsByOrigin: true,
  },
};

stats.hash

boolean = false

컴파일의 해시에 대한 정보를 추가할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    hash: false,
  },
};

stats.hints

5.110.0+

boolean = true

performance.hints: "stats"로 보고된 performance hint를 추가합니다. 이 값을 사용하면 hint를 경고나 오류로 내보내지 않으므로 stats에서 확인합니다.

export default {
  // ...
  stats: {
    hints: false,
  },
};

stats.hintsCount

5.110.0+

boolean = true

performance hint 수를 추가합니다.

export default {
  // ...
  stats: {
    hintsCount: false,
  },
};

stats.ids

boolean = false

stats에 모듈과 청크의 id를 추가하도록 지시합니다.

export default {
  // ...
  stats: {
    ids: true,
  },
};

stats.logging

'none' | 'error' | 'warn' | 'info' | 'log' | 'verbose' = 'info' boolean

로깅 출력을 추가할지 여부를 stats에 알려줍니다.

  • 'none', false - 로깅 비활성화
  • 'error' - 에러
  • 'warn' - 에러와 경고
  • 'info' - 에러, 경고, 정보성 메시지
  • 'log', true - 에러, 경고, 정보성 메시지, 로그 메시지, 그룹, 초기화. 접힌 그룹은 접힌 상태로 표시됩니다.
  • 'verbose' - 디버그 및 추적을 제외한 모든 것을 기록합니다. 접힌 그룹은 펼쳐진 상태로 표시됩니다.
export default {
  // ...
  stats: {
    logging: "verbose",
  },
};

stats.loggingDebug

(string | RegExp | ((name: string) => boolean))[] = [] string RegExp (name: string) => boolean boolean

Plugin이나 Loader와 같이 지정된 logger의 디버그 정보를 포함하도록 stats에 지시합니다. stats.loggingDebug에 매칭되는 logger는 stats.logging이 false로 설정되어 있어도 표시됩니다.

export default {
  // ...
  stats: {
    loggingDebug: [
      "MyPlugin",
      /MyPlugin/,
      /webpack/, // 코어 로깅을 얻기 위해서
      (name) => name.contains("MyPlugin"),
    ],
  },
};

stats.loggingTrace

boolean = false

에러, 경고 및 추적에 대한 로깅 출력에서 스택 추적을 활성화합니다. 추적을 숨기려면 stats.loggingTrace를 설정하세요.

export default {
  // ...
  stats: {
    loggingTrace: false,
  },
};

stats.moduleAssets

boolean = false

모듈 내부에 애셋에 대한 정보를 추가할지 여부를 stats에 알려줍니다. 숨기려면 stats.moduleAssets을 false로 설정하세요.

export default {
  // ...
  stats: {
    moduleAssets: false,
  },
};

stats.moduleTrace

boolean = true

종속성과 경고/에러의 출처를 표시하도록 stats에 지시합니다. stats.moduleTrace는 webpack 2.5.0부터 사용할 수 있습니다.

export default {
  // ...
  stats: {
    moduleTrace: false,
  },
};

stats.modules

boolean = true

빌드된 모듈에 대한 정보를 추가할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    modules: false,
  },
};

stats.modulesSort

string = 'depth' false

주어진 필드를 기준으로 모듈을 정렬하도록 stats에 지시합니다. 모든 정렬 필드는 stats.modulesSort의 값으로 사용할 수 있습니다. 값에 ! 접두사를 사용하여 주어진 필드의 정렬 순서를 반대로 할 수 있습니다. false로 설정하면 정렬을 비활성화합니다.

export default {
  // ...
  stats: {
    modulesSort: "size",
  },
};

stats.modulesSpace

number = 15

표시되어야 하는 모듈의 수를 stats에 알려줍니다. 그룹인 경우 이 크기에 맞게 축소됩니다.

export default {
  // ...
  stats: {
    modulesSpace: 15,
  },
};

stats.nestedModules

boolean

모듈 연결과 같이 다른 모듈에 중첩된 모듈에 대한 정보를 추가할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    nestedModules: true,
  },
};

stats.nestedModulesSpace

number = 10

표시되어야 하는 중첩된 모듈의 수를 stats에 알려줍니다. 그룹인 경우 이 크기에 맞게 축소됩니다.

export default {
  // ...
  stats: {
    nestedModulesSpace: 15,
  },
};

stats.optimizationBailout

boolean

모듈에 대한 최적화가 중단된 이유를 보여주기 위해 stats에 알려줍니다.

export default {
  // ...
  stats: {
    optimizationBailout: false,
  },
};

stats.orphanModules

boolean = false

orphan 모듈의 표시 여부를 stats에 알려줍니다. 모듈이 어떤 청크에도 포함되지 않으면 orphan입니다. Orphan 모듈은 기본적으로 stats에서 숨겨집니다.

export default {
  // ...
  stats: {
    orphanModules: true,
  },
};

stats.outputPath

boolean = false

stats에 outputPath를 표시하도록 지시합니다.

export default {
  // ...
  stats: {
    outputPath: false,
  },
};

stats.performance

boolean = true

파일 크기가 performance.maxAssetSize를 초과할 때 성능 힌트를 표시하도록 stats에 지시합니다.

export default {
  // ...
  stats: {
    performance: false,
  },
};

stats.preset

string false

표시되는 정보 유형에 대해 프리셋을 설정합니다. stats 동작 확장에 유용합니다.

export default {
  // ...
  stats: {
    preset: "minimal",
  },
};

최상위 stats 옵션을 false로 설정하면 webpack이 'none' stats 프리셋을 사용하도록 지시합니다; stats 객체 내부에서는 preset: 'none'을 사용하세요.

stats.providedExports

boolean = false

모듈의 export를 표시하도록 stats에 지시합니다.

export default {
  // ...
  stats: {
    providedExports: true,
  },
};

stats.publicPath

boolean = false

publicPath를 표시하도록 stats에 지시합니다.

export default {
  // ...
  stats: {
    publicPath: false,
  },
};

stats.reasons

boolean = false

모듈이 포함된 이유에 대한 정보를 추가하도록 stats에 지시합니다.

export default {
  // ...
  stats: {
    reasons: false,
  },
};

stats.reasonsSpace

number

5.46.0+

reasons를 표시할 공간입니다. 그룹은 이 공간에 맞게 축소됩니다.

export default {
  // ...
  stats: {
    reasonsSpace: 1000,
  },
};

stats.relatedAssets

boolean = false

애셋의 소스맵 같이 다른 애셋과 관련된 애셋에 대한 정보를 추가할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    relatedAssets: true,
  },
};

stats.runtimeModules

boolean = false

런타임 모듈에 대한 정보를 추가할지 여부를 stats에 알려줍니다.

export default {
  // ...
  stats: {
    runtimeModules: false,
  },
};

stats.source

boolean = false

stats에 모듈의 소스 코드를 추가하도록 지시합니다.

export default {
  // ...
  stats: {
    source: true,
  },
};

stats.timings

boolean = true

stats에 타이밍 정보를 추가하도록 지시합니다.

export default {
  // ...
  stats: {
    timings: false,
  },
};

stats.usedExports

boolean = false

모듈의 어떤 export가 사용되는지 표시할지 여부를 stats에 지시합니다.

export default {
  // ...
  stats: {
    usedExports: true,
  },
};

stats.version

boolean = true

사용된 webpack 버전에 대한 정보를 추가하도록 stats에 지시합니다.

export default {
  // ...
  stats: {
    version: false,
  },
};

stats.warnings

boolean = true

경고를 추가하도록 stats에 지시합니다.

export default {
  // ...
  stats: {
    warnings: false,
  },
};

stats.warningsCount

boolean = true

경고 횟수를 추가합니다.

export default {
  // ...
  stats: {
    warningsCount: false,
  },
};

stats.warningsFilter

(string | RegExp | WarningFilterFn)[] = [] string RegExp WarningFilterFn

주어진 필터에 매칭되는 경고를 제외하도록 stats에 지시합니다. string, RegExp, 또는 WarningFilterFn을 사용할 수 있습니다. stats.warningsFilter는 위의 항목들 중 하나로 구성된 array가 될 수 있습니다.

type WarningFilterFn = (warning: StatsError, warningString: string) => boolean;
export default {
  // ...
  stats: {
    warningsFilter: ["filter", /filter/, (warning) => true],
  },
};

stats.warningsSpace

5.80.0+

number

경고를 표시하기 위해 할당할 줄 수를 제한하도록 stats에 알려줍니다.

export default {
  // ...
  stats: {
    warningsSpace: 5,
  },
};

Sorting fields

assetsSort, chunksSort 및 modulesSort의 경우 항목을 정렬할 수 있는 몇 가지 필드가 있습니다.

  • 'id' - the item's id,
  • 'depth' - the module's depth in the module graph (the default for modulesSort),
  • 'name' - the item's name that was assigned to it upon importing,
  • 'size' - the size of item in bytes,
  • 'chunks' - what chunks the item originates from (for example, if there are multiple subchunks for one chunk: the subchunks will be grouped according to their main chunk),
  • 'errors' - number of errors in items,
  • 'warnings' - number of warnings in items,
  • 'failed' - whether the item has failed compilation,
  • 'cacheable' - whether the item is cacheable,
  • 'built' - whether the asset has been built,
  • 'optional' - whether the asset is optional.
  • 'identifier' - identifier of the item.
  • 'index' - item's processing index.
  • 'index2'
  • 'profile'
  • 'issuer' - issuer의 식별자
  • 'issuerId' - issuer의 id
  • 'issuerName' - issuer의 이름
  • 'issuerPath' - 전체 issuer 객체. 이 필드를 기준으로 정렬 할 필요는 없습니다.

Extending stats behaviours

'minimal'같은 사전 설정 중 하나를 사용하지만 일부 규칙을 재정의하는 경우, 원하는 stats.preset을 지정하고 사용자 지정 또는 추가 규칙을 추가하면 됩니다.

webpack.config.js

export default {
  // ..
  stats: {
    preset: "minimal",
    moduleTrace: true,
    errorDetails: true,
  },
};
Edit this page·
« Previous
Node

15 Contributors

SpaceK33zsallarjungomildrickjasonblanchardbyzykrenjithspaceRaiondesuEugeneHlushkogrguranshumanvpixel-raysnitin315u01jmg3

Translators