webpack-config-jaid example outputs
DEBUG=webpack-config-jaid DEBUG_DEPTH=7 npm run build:dev
{
name: 'main',
entry: { index: 'D:\\git\\epoch-seconds\\src\\index.js' },
context: 'D:\\git\\epoch-seconds',
mode: 'development',
devtool: 'source-map',
optimization: {},
module: {
rules: [
{
test: /\.(js|jsx|ts|tsx)$/,
oneOf: [
{
include: 'D:\\git\\epoch-seconds\\src',
loader: 'babel-loader'
}
]
},
{ test: /\.(yaml|yml)$/, loader: 'yml-loader' },
{ test: /\.lines$/, loader: 'lines-loader' },
{
test: /\.rlines$/,
loader: 'lines-loader',
options: { sort: true, random: true }
},
{ test: /\.txt$/, type: 'asset/source' },
{ resourceQuery: /\?raw$/, type: 'asset/source' },
{
test: /\.(hbs|handlebars)$/,
oneOf: [
{ resourceQuery: /\?html/, loader: 'handlebars-loader' },
{
loader: 'handlebars-loader',
options: { precompileOptions: { noEscape: true } }
}
]
}
],
parser: { javascript: { importMeta: true, importMetaContext: true } }
},
plugins: [
LoaderOptionsPlugin {
options: {
debug: true,
minimize: false,
test: { test: [Function: test] }
}
},
D {
options: {
publishimo: [AsyncFunction (anonymous)],
filename: 'package.json',
format: false,
autoMain: true,
autoTypes: false,
banner: false,
unicodeCopyright: true,
productionOnly: true,
debugFolder: null,
incudeFields: [],
excludeFields: [],
json5: false,
autoExclude: false,
includeDefaultBinName: true,
includeFields: [ 'type' ]
}
},
IgnorePlugin {
options: { resourceRegExp: /^\.\/locale$/, contextRegExp: /moment$/ },
checkIgnore: [Function: bound checkIgnore]
}
],
output: {
filename: '[name].js',
chunkFilename: '[name].js',
assetModuleFilename: 'assets/[file]',
path: 'D:\\git\\epoch-seconds\\dist\\package\\development',
module: true,
chunkFormat: 'module',
chunkLoading: 'import',
hashDigest: 'base64url',
hashDigestLength: 8,
library: { type: 'module' }
},
stats: {
all: false,
assets: true,
assetsSort: '!size',
excludeAssets: /.(map|d.ts)$/,
colors: true,
warnings: true,
errors: true,
errorDetails: true
},
performance: { maxEntrypointSize: 4000000, maxAssetSize: 4000000 },
experiments: { outputModule: true, topLevelAwait: true, futureDefaults: true },
externals: [AsyncFunction (anonymous)],
target: 'web'
}
Output (processed by Webpack)
{
amd: undefined,
bail: undefined,
cache: { type: 'memory', maxGenerations: Infinity, cacheUnaffected: true },
context: 'D:\\git\\epoch-seconds',
dependencies: undefined,
devServer: undefined,
devtool: 'source-map',
entry: { index: { import: [ 'D:\\git\\epoch-seconds\\src\\index.js' ] } },
experiments: {
outputModule: true,
topLevelAwait: true,
futureDefaults: true,
buildHttp: undefined,
lazyCompilation: undefined,
css: { exportsOnly: false },
backCompat: false,
syncWebAssembly: false,
asyncWebAssembly: true,
layers: false,
cacheUnaffected: true
},
externals: [AsyncFunction (anonymous)],
externalsPresets: {
web: true,
node: false,
nwjs: false,
electron: false,
electronMain: false,
electronPreload: false,
electronRenderer: false
},
externalsType: 'module',
ignoreWarnings: undefined,
infrastructureLogging: {
stream: <ref *1> WriteStream {
connecting: false,
_hadError: false,
_parent: null,
_host: null,
_closeAfterHandlingError: false,
_readableState: ReadableState {
objectMode: false,
highWaterMark: 0,
buffer: BufferList { head: null, tail: null, length: 0 },
length: 0,
pipes: [],
flowing: null,
ended: false,
endEmitted: false,
reading: false,
constructed: true,
sync: true,
needReadable: false,
emittedReadable: false,
readableListening: false,
resumeScheduled: false,
errorEmitted: false,
emitClose: false,
autoDestroy: true,
destroyed: false,
errored: null,
closed: false,
closeEmitted: false,
defaultEncoding: 'utf8',
awaitDrainWriters: null,
multiAwaitDrain: false,
readingMore: false,
dataEmitted: false,
decoder: null,
encoding: null,
[Symbol(kPaused)]: null
},
_events: [Object: null prototype] { end: [Function: onReadableStreamEnd] },
_eventsCount: 1,
_maxListeners: undefined,
_writableState: <ref *2> WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: false,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: false,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: {
count: 12,
cb: [Function: nop],
stream: [Circular *1],
state: [Circular *2]
},
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 12,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: false,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
allowHalfOpen: false,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: null,
_server: null,
columns: 114,
rows: 72,
_type: 'tty',
fd: 2,
_isStdio: true,
destroySoon: [Function: destroy],
_destroy: [Function: dummyDestroy],
[Symbol(async_id_symbol)]: 9,
[Symbol(kHandle)]: TTY { [Symbol(owner_symbol)]: [Circular *1] },
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: null,
[Symbol(kBuffer)]: null,
[Symbol(kBufferCb)]: null,
[Symbol(kBufferGen)]: null,
[Symbol(kCapture)]: false,
[Symbol(kSetNoDelay)]: false,
[Symbol(kSetKeepAlive)]: false,
[Symbol(kSetKeepAliveInitialDelay)]: 0,
[Symbol(kBytesRead)]: 0,
[Symbol(kBytesWritten)]: 0
},
level: 'info',
debug: false,
colors: true,
appendOnly: false
},
loader: {
target: 'web',
environment: {
globalThis: undefined,
bigIntLiteral: undefined,
const: true,
arrowFunction: true,
forOf: true,
destructuring: true,
optionalChaining: true,
templateLiteral: true,
dynamicImport: true,
dynamicImportInWorker: true,
module: true
}
},
mode: 'development',
module: {
noParse: undefined,
unsafeCache: [Function (anonymous)],
parser: {
javascript: {
unknownContextRequest: '.',
unknownContextRegExp: false,
unknownContextRecursive: true,
unknownContextCritical: true,
exprContextRequest: '.',
exprContextRegExp: false,
exprContextRecursive: true,
exprContextCritical: true,
wrappedContextRegExp: /.*/,
wrappedContextRecursive: true,
wrappedContextCritical: false,
strictExportPresence: undefined,
strictThisContextOnImports: false,
importMeta: true,
importMetaContext: true,
dynamicImportMode: 'lazy',
dynamicImportPrefetch: false,
dynamicImportPreload: false,
dynamicImportFetchPriority: false,
createRequire: false,
exportsPresence: 'error'
},
asset: { dataUrlCondition: { maxSize: 8096 } }
},
generator: {},
defaultRules: [
{ mimetype: 'application/node', type: 'javascript/auto' },
{ test: /\.json$/i, type: 'json' },
{ mimetype: 'application/json', type: 'json' },
{
test: /\.mjs$/i,
type: 'javascript/esm',
resolve: { byDependency: { esm: { fullySpecified: true } } }
},
{
test: /\.js$/i,
descriptionData: { type: 'module' },
type: 'javascript/esm',
resolve: { byDependency: { esm: { fullySpecified: true } } }
},
{ test: /\.cjs$/i, type: 'javascript/dynamic' },
{
test: /\.js$/i,
descriptionData: { type: 'commonjs' },
type: 'javascript/dynamic'
},
{
mimetype: { or: [ 'text/javascript', 'application/javascript' ] },
type: 'javascript/esm',
resolve: { byDependency: { esm: { fullySpecified: true } } }
},
{
test: /\.wasm$/i,
type: 'webassembly/async',
rules: [
{
descriptionData: { type: 'module' },
resolve: { fullySpecified: true }
}
]
},
{
mimetype: 'application/wasm',
type: 'webassembly/async',
rules: [
{
descriptionData: { type: 'module' },
resolve: { fullySpecified: true }
}
]
},
{
test: /\.css$/i,
type: 'css/auto',
resolve: { fullySpecified: true, preferRelative: true }
},
{
mimetype: 'text/css+module',
type: 'css/module',
resolve: { fullySpecified: true, preferRelative: true }
},
{
mimetype: 'text/css',
type: 'css',
resolve: { fullySpecified: true, preferRelative: true }
},
{
dependency: 'url',
oneOf: [
{ scheme: /^data$/, type: 'asset/inline' },
{ type: 'asset/resource' }
]
},
{ assert: { type: 'json' }, type: 'json' }
],
rules: [
{
test: /\.(js|jsx|ts|tsx)$/,
oneOf: [
{
include: 'D:\\git\\epoch-seconds\\src',
loader: 'babel-loader'
}
]
},
{ test: /\.(yaml|yml)$/, loader: 'yml-loader' },
{ test: /\.lines$/, loader: 'lines-loader' },
{
test: /\.rlines$/,
loader: 'lines-loader',
options: { sort: true, random: true }
},
{ test: /\.txt$/, type: 'asset/source' },
{ resourceQuery: /\?raw$/, type: 'asset/source' },
{
test: /\.(hbs|handlebars)$/,
oneOf: [
{ resourceQuery: /\?html/, loader: 'handlebars-loader' },
{
loader: 'handlebars-loader',
options: { precompileOptions: { noEscape: true } }
}
]
}
]
},
name: 'main',
node: { global: 'warn', __filename: 'warn-mock', __dirname: 'warn-mock' },
optimization: {
runtimeChunk: false,
splitChunks: {
defaultSizeTypes: [ 'javascript', 'css', 'unknown' ],
cacheGroups: {
default: {
idHint: '',
reuseExistingChunk: true,
minChunks: 2,
priority: -20
},
defaultVendors: {
idHint: 'vendors',
reuseExistingChunk: true,
test: /[\\/]node_modules[\\/]/i,
priority: -10
}
},
hidePathInfo: false,
chunks: 'async',
usedExports: false,
minChunks: 1,
minSize: 10000,
minRemainingSize: 0,
enforceSizeThreshold: 30000,
maxAsyncRequests: Infinity,
maxInitialRequests: Infinity,
automaticNameDelimiter: '-'
},
emitOnErrors: true,
removeAvailableModules: false,
removeEmptyChunks: true,
mergeDuplicateChunks: true,
flagIncludedChunks: false,
moduleIds: 'named',
chunkIds: 'named',
sideEffects: 'flag',
providedExports: true,
usedExports: false,
innerGraph: false,
mangleExports: false,
concatenateModules: false,
checkWasmTypes: false,
mangleWasmImports: false,
portableRecords: false,
realContentHash: false,
minimize: false,
minimizer: [ { apply: [Function: apply] } ],
nodeEnv: 'development'
},
output: {
assetModuleFilename: 'assets/[file]',
asyncChunks: true,
charset: true,
chunkFilename: '[name].js',
chunkFormat: 'module',
chunkLoading: 'import',
chunkLoadingGlobal: 'webpackChunkepoch_seconds',
chunkLoadTimeout: 120000,
cssFilename: '[name].css',
cssChunkFilename: '[name].css',
clean: undefined,
compareBeforeEmit: true,
crossOriginLoading: false,
devtoolFallbackModuleFilenameTemplate: undefined,
devtoolModuleFilenameTemplate: undefined,
devtoolNamespace: 'epoch-seconds',
environment: {
globalThis: undefined,
bigIntLiteral: undefined,
const: true,
arrowFunction: true,
forOf: true,
destructuring: true,
optionalChaining: true,
templateLiteral: true,
dynamicImport: true,
dynamicImportInWorker: true,
module: true
},
enabledChunkLoadingTypes: [ 'import' ],
enabledLibraryTypes: [ 'module' ],
enabledWasmLoadingTypes: [ 'fetch' ],
filename: '[name].js',
globalObject: 'self',
hashDigest: 'base64url',
hashDigestLength: 8,
hashFunction: 'xxhash64',
hashSalt: undefined,
hotUpdateChunkFilename: '[id].[fullhash].hot-update.mjs',
hotUpdateGlobal: 'webpackHotUpdateepoch_seconds',
hotUpdateMainFilename: '[runtime].[fullhash].hot-update.json',
ignoreBrowserWarnings: undefined,
iife: false,
importFunctionName: 'import',
importMetaName: 'import.meta',
scriptType: 'module',
library: {
type: 'module',
auxiliaryComment: undefined,
amdContainer: undefined,
export: undefined,
name: undefined,
umdNamedDefine: undefined
},
module: true,
path: 'D:\\git\\epoch-seconds\\dist\\package\\development',
pathinfo: true,
publicPath: 'auto',
sourceMapFilename: '[file].map[query]',
sourcePrefix: undefined,
strictModuleExceptionHandling: false,
trustedTypes: undefined,
uniqueName: 'epoch-seconds',
wasmLoading: 'fetch',
webassemblyModuleFilename: '[hash].module.wasm',
workerPublicPath: '',
workerChunkLoading: false,
workerWasmLoading: 'fetch'
},
parallelism: 100,
performance: { maxEntrypointSize: 4000000, maxAssetSize: 4000000, hints: false },
plugins: [
CLIPlugin {
options: {
configPath: 'D:\\git\\epoch-seconds\\webpack.config.js',
helpfulOutput: true,
hot: undefined,
progress: undefined,
prefetch: undefined,
analyze: undefined
},
logger: WebpackLogger {
getChildLogger: [Function (anonymous)],
[Symbol(webpack logger raw log method)]: [Function (anonymous)]
}
},
LoaderOptionsPlugin {
options: {
debug: true,
minimize: false,
test: { test: [Function: test] }
}
},
D {
options: {
publishimo: [AsyncFunction (anonymous)],
filename: 'package.json',
format: false,
autoMain: true,
autoTypes: false,
banner: false,
unicodeCopyright: true,
productionOnly: true,
debugFolder: null,
incudeFields: [],
excludeFields: [],
json5: false,
autoExclude: false,
includeDefaultBinName: true,
includeFields: [ 'type' ]
}
},
IgnorePlugin {
options: { resourceRegExp: /^\.\/locale$/, contextRegExp: /moment$/ },
checkIgnore: [Function: bound checkIgnore]
},
MyPlugin {}
],
profile: false,
recordsInputPath: false,
recordsOutputPath: false,
resolve: {
byDependency: {
wasm: {
conditionNames: [ 'import', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
esm: {
conditionNames: [ 'import', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
loaderImport: {
conditionNames: [ 'import', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
worker: {
conditionNames: [ 'import', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ],
preferRelative: true
},
commonjs: {
conditionNames: [ 'require', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
amd: {
conditionNames: [ 'require', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
loader: {
conditionNames: [ 'require', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
unknown: {
conditionNames: [ 'require', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
undefined: {
conditionNames: [ 'require', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
'css-import': {
conditionNames: [ 'webpack', 'development', 'style' ],
mainFiles: [],
extensions: [ '.css' ],
mainFields: [ 'style', '...' ]
},
url: { preferRelative: true }
},
cache: true,
modules: [ 'node_modules' ],
conditionNames: [ 'webpack', 'development', 'browser' ],
mainFiles: [ 'index' ],
extensions: [],
aliasFields: [],
exportsFields: [ 'exports' ],
roots: [ 'D:\\git\\epoch-seconds' ],
mainFields: [ 'main' ]
},
resolveLoader: {
cache: true,
conditionNames: [ 'loader', 'require', 'node' ],
exportsFields: [ 'exports' ],
mainFields: [ 'loader', 'main' ],
extensions: [ '.js' ],
mainFiles: [ 'index' ]
},
snapshot: {
resolveBuildDependencies: { timestamp: true, hash: true },
buildDependencies: { timestamp: true, hash: true },
resolve: { timestamp: true },
module: { timestamp: true },
immutablePaths: [],
managedPaths: [ /^(.+?[\\/]node_modules[\\/])/ ]
},
stats: {
all: false,
assets: true,
assetsSort: '!size',
excludeAssets: /.(map|d.ts)$/,
colors: true,
warnings: true,
errors: true,
errorDetails: true
},
target: 'web',
watch: false,
watchOptions: {}
}
DEBUG=webpack-config-jaid DEBUG_DEPTH=7 npm run build:prod
{
name: 'main',
entry: { index: 'D:\\git\\epoch-seconds\\src\\index.js' },
context: 'D:\\git\\epoch-seconds',
mode: 'production',
devtool: 'source-map',
optimization: {
chunkIds: 'deterministic',
concatenateModules: true,
mangleExports: 'size',
removeAvailableModules: true,
runtimeChunk: { name: 'runtime' },
splitChunks: {
chunks: 'async',
cacheGroups: {
defaultVendors: {
test: /[/\\]node_modules[/\\]/,
name: 'vendor',
chunks: 'all'
}
}
},
minimizer: [
TerserPlugin {
options: {
test: /\.[cm]?js(\?.*)?$/i,
extractComments: false,
parallel: true,
include: undefined,
exclude: undefined,
minimizer: {
implementation: [AsyncFunction: terserMinify] {
getMinimizerVersion: [Function (anonymous)]
},
options: {
compress: {
passes: 1,
unsafe_comps: true,
unsafe_math: true,
unsafe_regexp: true,
unsafe_undefined: true
},
output: { ecma: 2019, comments: [Function: comments] },
toplevel: true,
module: true
}
}
}
}
]
},
module: {
rules: [
{
test: /\.(js|jsx|ts|tsx)$/,
oneOf: [
{
include: 'D:\\git\\epoch-seconds\\src',
loader: 'babel-loader'
}
]
},
{ test: /\.(yaml|yml)$/, loader: 'yml-loader' },
{ test: /\.lines$/, loader: 'lines-loader' },
{
test: /\.rlines$/,
loader: 'lines-loader',
options: { sort: true, random: true }
},
{ test: /\.txt$/, type: 'asset/source' },
{ resourceQuery: /\?raw$/, type: 'asset/source' },
{
test: /\.(hbs|handlebars)$/,
oneOf: [
{ resourceQuery: /\?html/, loader: 'handlebars-loader' },
{
loader: 'handlebars-loader',
options: { precompileOptions: { noEscape: true } }
}
]
}
],
parser: { javascript: { importMeta: true, importMetaContext: true } }
},
plugins: [
LoaderOptionsPlugin {
options: {
debug: false,
minimize: true,
test: { test: [Function: test] }
}
},
CleanWebpackPlugin {
dangerouslyAllowCleanPatternsOutsideProject: false,
dry: false,
verbose: false,
cleanStaleWebpackAssets: true,
protectWebpackAssets: true,
cleanAfterEveryBuildPatterns: [],
cleanOnceBeforeBuildPatterns: [ 'D:\\git\\epoch-seconds\\dist\\package\\production' ],
currentAssets: [],
initialClean: false,
outputPath: '',
apply: [Function: bound apply],
handleInitial: [Function: bound handleInitial],
handleDone: [Function: bound handleDone],
removeFiles: [Function: bound removeFiles]
},
D {
options: {
publishimo: [AsyncFunction (anonymous)],
filename: 'package.json',
format: false,
autoMain: true,
autoTypes: false,
banner: false,
unicodeCopyright: true,
productionOnly: true,
debugFolder: null,
incudeFields: [],
excludeFields: [],
json5: false,
autoExclude: false,
includeDefaultBinName: true,
includeFields: [ 'type' ]
}
},
d { options: { defaultLicense: 'MIT' } },
CopyPlugin {
patterns: [
{ from: 'readme.*', noErrorOnMissing: true },
{ from: 'license.*', noErrorOnMissing: true }
],
options: {}
},
IgnorePlugin {
options: { resourceRegExp: /^\.\/locale$/, contextRegExp: /moment$/ },
checkIgnore: [Function: bound checkIgnore]
}
],
output: {
filename: '[name].js',
chunkFilename: '[name].js',
assetModuleFilename: '[contenthash][ext][query]',
path: 'D:\\git\\epoch-seconds\\dist\\package\\production',
module: true,
chunkFormat: 'module',
chunkLoading: 'import',
hashDigest: 'base64url',
hashDigestLength: 8,
library: { type: 'module' }
},
stats: {
all: false,
assets: true,
assetsSort: '!size',
excludeAssets: /.(map|d.ts)$/,
colors: true,
warnings: true,
errors: true,
errorDetails: true
},
performance: { maxEntrypointSize: 4000000, maxAssetSize: 4000000 },
experiments: { outputModule: true, topLevelAwait: true, futureDefaults: true },
externals: [AsyncFunction (anonymous)],
target: 'web'
}
Output (processed by Webpack)
{
amd: undefined,
bail: undefined,
cache: false,
context: 'D:\\git\\epoch-seconds',
dependencies: undefined,
devServer: undefined,
devtool: 'source-map',
entry: { index: { import: [ 'D:\\git\\epoch-seconds\\src\\index.js' ] } },
experiments: {
outputModule: true,
topLevelAwait: true,
futureDefaults: true,
buildHttp: undefined,
lazyCompilation: undefined,
css: { exportsOnly: false },
backCompat: false,
syncWebAssembly: false,
asyncWebAssembly: true,
layers: false,
cacheUnaffected: true
},
externals: [AsyncFunction (anonymous)],
externalsPresets: {
web: true,
node: false,
nwjs: false,
electron: false,
electronMain: false,
electronPreload: false,
electronRenderer: false
},
externalsType: 'module',
ignoreWarnings: undefined,
infrastructureLogging: {
stream: <ref *1> WriteStream {
connecting: false,
_hadError: false,
_parent: null,
_host: null,
_closeAfterHandlingError: false,
_readableState: ReadableState {
objectMode: false,
highWaterMark: 0,
buffer: BufferList { head: null, tail: null, length: 0 },
length: 0,
pipes: [],
flowing: null,
ended: false,
endEmitted: false,
reading: false,
constructed: true,
sync: true,
needReadable: false,
emittedReadable: false,
readableListening: false,
resumeScheduled: false,
errorEmitted: false,
emitClose: false,
autoDestroy: true,
destroyed: false,
errored: null,
closed: false,
closeEmitted: false,
defaultEncoding: 'utf8',
awaitDrainWriters: null,
multiAwaitDrain: false,
readingMore: false,
dataEmitted: false,
decoder: null,
encoding: null,
[Symbol(kPaused)]: null
},
_events: [Object: null prototype] { end: [Function: onReadableStreamEnd] },
_eventsCount: 1,
_maxListeners: undefined,
_writableState: <ref *2> WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: false,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: false,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: {
count: 13,
cb: [Function: nop],
stream: [Circular *1],
state: [Circular *2]
},
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 13,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: false,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
allowHalfOpen: false,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: null,
_server: null,
columns: 114,
rows: 72,
_type: 'tty',
fd: 2,
_isStdio: true,
destroySoon: [Function: destroy],
_destroy: [Function: dummyDestroy],
[Symbol(async_id_symbol)]: 9,
[Symbol(kHandle)]: TTY { [Symbol(owner_symbol)]: [Circular *1] },
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: null,
[Symbol(kBuffer)]: null,
[Symbol(kBufferCb)]: null,
[Symbol(kBufferGen)]: null,
[Symbol(kCapture)]: false,
[Symbol(kSetNoDelay)]: false,
[Symbol(kSetKeepAlive)]: false,
[Symbol(kSetKeepAliveInitialDelay)]: 0,
[Symbol(kBytesRead)]: 0,
[Symbol(kBytesWritten)]: 0
},
level: 'info',
debug: false,
colors: true,
appendOnly: false
},
loader: {
target: 'web',
environment: {
globalThis: undefined,
bigIntLiteral: undefined,
const: true,
arrowFunction: true,
forOf: true,
destructuring: true,
optionalChaining: true,
templateLiteral: true,
dynamicImport: true,
dynamicImportInWorker: true,
module: true
}
},
mode: 'production',
module: {
noParse: undefined,
unsafeCache: false,
parser: {
javascript: {
unknownContextRequest: '.',
unknownContextRegExp: false,
unknownContextRecursive: true,
unknownContextCritical: true,
exprContextRequest: '.',
exprContextRegExp: false,
exprContextRecursive: true,
exprContextCritical: true,
wrappedContextRegExp: /.*/,
wrappedContextRecursive: true,
wrappedContextCritical: false,
strictExportPresence: undefined,
strictThisContextOnImports: false,
importMeta: true,
importMetaContext: true,
dynamicImportMode: 'lazy',
dynamicImportPrefetch: false,
dynamicImportPreload: false,
dynamicImportFetchPriority: false,
createRequire: false,
exportsPresence: 'error'
},
asset: { dataUrlCondition: { maxSize: 8096 } }
},
generator: {},
defaultRules: [
{ mimetype: 'application/node', type: 'javascript/auto' },
{ test: /\.json$/i, type: 'json' },
{ mimetype: 'application/json', type: 'json' },
{
test: /\.mjs$/i,
type: 'javascript/esm',
resolve: { byDependency: { esm: { fullySpecified: true } } }
},
{
test: /\.js$/i,
descriptionData: { type: 'module' },
type: 'javascript/esm',
resolve: { byDependency: { esm: { fullySpecified: true } } }
},
{ test: /\.cjs$/i, type: 'javascript/dynamic' },
{
test: /\.js$/i,
descriptionData: { type: 'commonjs' },
type: 'javascript/dynamic'
},
{
mimetype: { or: [ 'text/javascript', 'application/javascript' ] },
type: 'javascript/esm',
resolve: { byDependency: { esm: { fullySpecified: true } } }
},
{
test: /\.wasm$/i,
type: 'webassembly/async',
rules: [
{
descriptionData: { type: 'module' },
resolve: { fullySpecified: true }
}
]
},
{
mimetype: 'application/wasm',
type: 'webassembly/async',
rules: [
{
descriptionData: { type: 'module' },
resolve: { fullySpecified: true }
}
]
},
{
test: /\.css$/i,
type: 'css/auto',
resolve: { fullySpecified: true, preferRelative: true }
},
{
mimetype: 'text/css+module',
type: 'css/module',
resolve: { fullySpecified: true, preferRelative: true }
},
{
mimetype: 'text/css',
type: 'css',
resolve: { fullySpecified: true, preferRelative: true }
},
{
dependency: 'url',
oneOf: [
{ scheme: /^data$/, type: 'asset/inline' },
{ type: 'asset/resource' }
]
},
{ assert: { type: 'json' }, type: 'json' }
],
rules: [
{
test: /\.(js|jsx|ts|tsx)$/,
oneOf: [
{
include: 'D:\\git\\epoch-seconds\\src',
loader: 'babel-loader'
}
]
},
{ test: /\.(yaml|yml)$/, loader: 'yml-loader' },
{ test: /\.lines$/, loader: 'lines-loader' },
{
test: /\.rlines$/,
loader: 'lines-loader',
options: { sort: true, random: true }
},
{ test: /\.txt$/, type: 'asset/source' },
{ resourceQuery: /\?raw$/, type: 'asset/source' },
{
test: /\.(hbs|handlebars)$/,
oneOf: [
{ resourceQuery: /\?html/, loader: 'handlebars-loader' },
{
loader: 'handlebars-loader',
options: { precompileOptions: { noEscape: true } }
}
]
}
]
},
name: 'main',
node: { global: 'warn', __filename: 'warn-mock', __dirname: 'warn-mock' },
optimization: {
chunkIds: 'deterministic',
concatenateModules: true,
mangleExports: 'size',
removeAvailableModules: true,
runtimeChunk: { name: [Function (anonymous)] },
splitChunks: {
chunks: 'async',
cacheGroups: {
defaultVendors: {
test: /[/\\]node_modules[/\\]/,
name: 'vendor',
chunks: 'all'
},
default: {
idHint: '',
reuseExistingChunk: true,
minChunks: 2,
priority: -20
}
},
defaultSizeTypes: [ 'javascript', 'css', 'unknown' ],
hidePathInfo: true,
usedExports: true,
minChunks: 1,
minSize: 20000,
minRemainingSize: undefined,
enforceSizeThreshold: 50000,
maxAsyncRequests: 30,
maxInitialRequests: 30,
automaticNameDelimiter: '-'
},
minimizer: [
TerserPlugin {
options: {
test: /\.[cm]?js(\?.*)?$/i,
extractComments: false,
parallel: true,
include: undefined,
exclude: undefined,
minimizer: {
implementation: [AsyncFunction: terserMinify] {
getMinimizerVersion: [Function (anonymous)]
},
options: {
compress: {
passes: 1,
unsafe_comps: true,
unsafe_math: true,
unsafe_regexp: true,
unsafe_undefined: true
},
output: { ecma: 2019, comments: [Function: comments] },
toplevel: true,
module: true
}
}
}
}
],
emitOnErrors: false,
removeEmptyChunks: true,
mergeDuplicateChunks: true,
flagIncludedChunks: true,
moduleIds: 'deterministic',
sideEffects: true,
providedExports: true,
usedExports: true,
innerGraph: true,
checkWasmTypes: true,
mangleWasmImports: false,
portableRecords: false,
realContentHash: true,
minimize: true,
nodeEnv: 'production'
},
output: {
assetModuleFilename: '[contenthash][ext][query]',
asyncChunks: true,
charset: true,
chunkFilename: '[name].js',
chunkFormat: 'module',
chunkLoading: 'import',
chunkLoadingGlobal: 'webpackChunkepoch_seconds',
chunkLoadTimeout: 120000,
cssFilename: '[name].css',
cssChunkFilename: '[name].css',
clean: undefined,
compareBeforeEmit: true,
crossOriginLoading: false,
devtoolFallbackModuleFilenameTemplate: undefined,
devtoolModuleFilenameTemplate: undefined,
devtoolNamespace: 'epoch-seconds',
environment: {
globalThis: undefined,
bigIntLiteral: undefined,
const: true,
arrowFunction: true,
forOf: true,
destructuring: true,
optionalChaining: true,
templateLiteral: true,
dynamicImport: true,
dynamicImportInWorker: true,
module: true
},
enabledChunkLoadingTypes: [ 'import' ],
enabledLibraryTypes: [ 'module' ],
enabledWasmLoadingTypes: [ 'fetch' ],
filename: '[name].js',
globalObject: 'self',
hashDigest: 'base64url',
hashDigestLength: 8,
hashFunction: 'xxhash64',
hashSalt: undefined,
hotUpdateChunkFilename: '[id].[fullhash].hot-update.mjs',
hotUpdateGlobal: 'webpackHotUpdateepoch_seconds',
hotUpdateMainFilename: '[runtime].[fullhash].hot-update.json',
ignoreBrowserWarnings: undefined,
iife: false,
importFunctionName: 'import',
importMetaName: 'import.meta',
scriptType: 'module',
library: {
type: 'module',
auxiliaryComment: undefined,
amdContainer: undefined,
export: undefined,
name: undefined,
umdNamedDefine: undefined
},
module: true,
path: 'D:\\git\\epoch-seconds\\dist\\package\\production',
pathinfo: false,
publicPath: 'auto',
sourceMapFilename: '[file].map[query]',
sourcePrefix: undefined,
strictModuleExceptionHandling: false,
trustedTypes: undefined,
uniqueName: 'epoch-seconds',
wasmLoading: 'fetch',
webassemblyModuleFilename: '[hash].module.wasm',
workerPublicPath: '',
workerChunkLoading: false,
workerWasmLoading: 'fetch'
},
parallelism: 100,
performance: {
maxEntrypointSize: 4000000,
maxAssetSize: 4000000,
hints: 'warning'
},
plugins: [
CLIPlugin {
options: {
configPath: 'D:\\git\\epoch-seconds\\webpack.config.js',
helpfulOutput: true,
hot: undefined,
progress: undefined,
prefetch: undefined,
analyze: undefined
},
logger: WebpackLogger {
getChildLogger: [Function (anonymous)],
[Symbol(webpack logger raw log method)]: [Function (anonymous)]
}
},
LoaderOptionsPlugin {
options: {
debug: false,
minimize: true,
test: { test: [Function: test] }
}
},
CleanWebpackPlugin {
dangerouslyAllowCleanPatternsOutsideProject: false,
dry: false,
verbose: false,
cleanStaleWebpackAssets: true,
protectWebpackAssets: true,
cleanAfterEveryBuildPatterns: [],
cleanOnceBeforeBuildPatterns: [ 'D:\\git\\epoch-seconds\\dist\\package\\production' ],
currentAssets: [],
initialClean: false,
outputPath: 'D:\\git\\epoch-seconds\\dist\\package\\production',
apply: [Function: bound apply],
handleInitial: [Function: bound handleInitial],
handleDone: [Function: bound handleDone],
removeFiles: [Function: bound removeFiles]
},
D {
options: {
publishimo: [AsyncFunction (anonymous)],
filename: 'package.json',
format: false,
autoMain: true,
autoTypes: false,
banner: false,
unicodeCopyright: true,
productionOnly: true,
debugFolder: null,
incudeFields: [],
excludeFields: [],
json5: false,
autoExclude: false,
includeDefaultBinName: true,
includeFields: [ 'type' ]
}
},
d { options: { defaultLicense: 'MIT' } },
CopyPlugin {
patterns: [
{ from: 'readme.*', noErrorOnMissing: true },
{ from: 'license.*', noErrorOnMissing: true }
],
options: {}
},
IgnorePlugin {
options: { resourceRegExp: /^\.\/locale$/, contextRegExp: /moment$/ },
checkIgnore: [Function: bound checkIgnore]
},
],
profile: false,
recordsInputPath: false,
recordsOutputPath: false,
resolve: {
byDependency: {
wasm: {
conditionNames: [ 'import', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
esm: {
conditionNames: [ 'import', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
loaderImport: {
conditionNames: [ 'import', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
worker: {
conditionNames: [ 'import', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ],
preferRelative: true
},
commonjs: {
conditionNames: [ 'require', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
amd: {
conditionNames: [ 'require', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
loader: {
conditionNames: [ 'require', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
unknown: {
conditionNames: [ 'require', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
undefined: {
conditionNames: [ 'require', 'module', '...' ],
extensions: [ '.js', '.json', '.wasm' ],
aliasFields: [ 'browser' ],
mainFields: [ 'browser', 'module', '...' ]
},
'css-import': {
conditionNames: [ 'webpack', 'production', 'style' ],
mainFiles: [],
extensions: [ '.css' ],
mainFields: [ 'style', '...' ]
},
url: { preferRelative: true }
},
cache: false,
modules: [ 'node_modules' ],
conditionNames: [ 'webpack', 'production', 'browser' ],
mainFiles: [ 'index' ],
extensions: [],
aliasFields: [],
exportsFields: [ 'exports' ],
roots: [ 'D:\\git\\epoch-seconds' ],
mainFields: [ 'main' ]
},
resolveLoader: {
cache: false,
conditionNames: [ 'loader', 'require', 'node' ],
exportsFields: [ 'exports' ],
mainFields: [ 'loader', 'main' ],
extensions: [ '.js' ],
mainFiles: [ 'index' ]
},
snapshot: {
resolveBuildDependencies: { timestamp: true, hash: true },
buildDependencies: { timestamp: true, hash: true },
resolve: { timestamp: true, hash: true },
module: { timestamp: true, hash: true },
immutablePaths: [],
managedPaths: [ /^(.+?[\\/]node_modules[\\/])/ ]
},
stats: {
all: false,
assets: true,
assetsSort: '!size',
excludeAssets: /.(map|d.ts)$/,
colors: true,
warnings: true,
errors: true,
errorDetails: true
},
target: 'web',
watch: false,
watchOptions: {}
}