New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@matthis/webpack-node-script

Package Overview
Dependencies
Maintainers
0
Versions
124
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@matthis/webpack-node-script - npm Package Compare versions

Comparing version
1.8.4
to
1.8.5
+1
-1
index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","mappings":"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","sources":["webpack://b/webpack/bootstrap","webpack://b/webpack/runtime/compat get default export","webpack://b/webpack/runtime/define property getters","webpack://b/webpack/runtime/hasOwnProperty shorthand","webpack://b/webpack/runtime/make namespace object","webpack://b/external node-commonjs \"node:path\"","webpack://b/external node-commonjs \"webpack\"","webpack://b/external node-commonjs \"node:fs\"","webpack://b/external node-commonjs \"chokidar\"","webpack://b/external node-commonjs \"eslint\"","webpack://b/./src/webpack/plugins/formatter.ts","webpack://b/./src/logger.ts","webpack://b/./src/global_error.ts","webpack://b/./src/exit_handler.ts","webpack://b/./src/webpack/plugins/standalone_plugin.ts","webpack://b/./src/webpack/plugins/eslint_plugin.ts","webpack://b/external node-commonjs \"fork-ts-checker-webpack-plugin\"","webpack://b/./src/webpack/plugins/fork_ts_checker_plugin.ts","webpack://b/external node-commonjs \"terser-webpack-plugin\"","webpack://b/external node-commonjs \"node:child_process\"","webpack://b/./src/webpack/plugins/yarn_plugin.ts","webpack://b/external node-commonjs \"@babel/core\"","webpack://b/external node-commonjs \"@babel/preset-env\"","webpack://b/external node-commonjs \"@babel/preset-typescript\"","webpack://b/external node-commonjs \"babel-loader\"","webpack://b/./src/versions.ts","webpack://b/external node-commonjs \"source-map-loader\"","webpack://b/external node-commonjs \"node:fs/promises\"","webpack://b/./src/fs.ts","webpack://b/external node-commonjs \"node:crypto\"","webpack://b/external node-commonjs \"prettier\"","webpack://b/./src/webpack/utils.ts","webpack://b/./src/webpack/plugins/dependency_packer_plugin.ts","webpack://b/./src/webpack/common-configs/node_config.ts","webpack://b/./src/webpack/common-configs/base_config.ts","webpack://b/./src/webpack/plugins/define_plugin.ts","webpack://b/./src/webpack/plugins/terser_plugin.ts","webpack://b/./src/webpack/loaders/babel_loader_node.ts","webpack://b/./src/webpack/loaders/source_map_loader.ts","webpack://b/./src/webpack/configs/node_script.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"node:path\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"webpack\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"node:fs\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"chokidar\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"eslint\");","const ansiRegex = new RegExp(\n [\n '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))',\n ].join('|'),\n 'gu'\n);\nexport const stripAnsi = (s: string): string => s.replace(ansiRegex, '');\n","export const error: (message?: unknown, ...optionalParams: unknown[]) => void = console.error;\nexport const log: (message?: unknown, ...optionalParams: unknown[]) => void = console.log;\n","import {appendFileSync} from 'node:fs';\n\nimport {error} from '@src/logger';\n\nexport function globalError(...val: unknown[]): void {\n for (const data of val) {\n try {\n const str =\n typeof data === 'string'\n ? data\n : data instanceof Error\n ? (data.stack ?? String(data))\n : JSON.stringify(data);\n error(str);\n appendFileSync('error.log', str);\n } catch {\n // Don't log anything that went wrong during logging to prevent infinite loops\n }\n }\n}\n","import {globalError} from '@src/global_error';\n\nlet called = false;\nconst callbacks: (() => void | Promise<void>)[] = [];\n\nfunction runCallbacks(): void {\n if (called) {\n return;\n }\n called = true;\n for (const fn of callbacks) {\n Promise.resolve(fn()).catch((err: unknown) =>\n globalError('Failure to run exit cleanup callback', err)\n );\n }\n}\n\nprocess.on('beforeExit', () => runCallbacks());\nprocess.on('exit', () => runCallbacks());\nprocess.on('SIGTERM', () => runCallbacks());\nprocess.on('SIGINT', () => runCallbacks());\nprocess.on('uncaughtException', err => {\n globalError('uncaughtException', err);\n runCallbacks();\n});\n\nexport function registerExitCallback(cb: () => void | Promise<void>): void {\n callbacks.push(cb);\n}\n","import {Compiler} from 'webpack';\n\nimport {registerExitCallback} from '@src/exit_handler';\nimport {globalError} from '@src/global_error';\n\nexport abstract class StandalonePlugin {\n protected abstract name: string;\n protected context: string = process.cwd();\n\n // INITIALIZE\n\n public apply(compiler: Compiler): void {\n this.context = compiler.context;\n compiler.hooks.beforeRun.tapPromise(this.name, async () => await this.setupHandler(compiler));\n compiler.hooks.watchRun.tapPromise(this.name, async () => await this.setupHandler(compiler));\n compiler.hooks.shutdown.tapPromise(\n this.name,\n async () => await this.exitHandlerAsync(compiler)\n );\n registerExitCallback(() => this.exitHandler(compiler));\n }\n\n protected abstract setup(compiler: Compiler): void | Promise<void>;\n protected abstract teardown(compiler: Compiler): void | Promise<void>;\n\n // SETUP\n\n private hasStarted = false;\n private async setupHandler(compiler: Compiler): Promise<void> {\n if (this.hasStarted) {\n return;\n }\n this.hasStarted = true;\n await this.setup(compiler);\n }\n\n // EXIT\n\n private hasExited = false;\n private exitHandler(compiler: Compiler): void {\n if (this.hasExited) {\n return;\n }\n this.hasExited = true;\n Promise.resolve(this.teardown(compiler)).catch((err: unknown) => {\n globalError(`Error during teardown of plugin ${this.name}`, err);\n });\n }\n private async exitHandlerAsync(compiler: Compiler): Promise<void> {\n if (this.hasExited) {\n return;\n }\n this.hasExited = true;\n await this.teardown(compiler);\n }\n}\n","import {existsSync, readdirSync} from 'node:fs';\nimport {join} from 'node:path';\n\nimport {FSWatcher, watch} from 'chokidar';\n// eslint-disable-next-line n/no-extraneous-import\nimport {ESLint, Linter} from 'eslint';\nimport {Compilation, Compiler, WebpackError} from 'webpack';\n\nimport {WebpackPlugin} from '@src/webpack/models';\nimport {stripAnsi} from '@src/webpack/plugins/formatter';\nimport {StandalonePlugin} from '@src/webpack/plugins/standalone_plugin';\n\ninterface QueuedFileState {\n status: 'queued';\n}\n\ninterface InProgressFileState {\n status: 'in-progress';\n eslintRunId: number;\n}\n\ninterface SuccessFileState {\n status: 'success';\n eslintRunId: number;\n}\n\ninterface FailureFileState {\n status: 'failed';\n eslintRunId: number;\n messages: Linter.LintMessage[];\n}\n\ninterface ErroredFileState {\n status: 'errored';\n eslintRunId: number;\n err: unknown;\n}\n\ntype FileState =\n | QueuedFileState\n | InProgressFileState\n | SuccessFileState\n | FailureFileState\n | ErroredFileState;\n\nexport class EslintWebpackError extends WebpackError {\n public override name = 'EslintWebpackError';\n public constructor(\n public readonly eslintRunId: number,\n message: string,\n filePath?: string,\n loc?: WebpackError['loc'],\n public readonly ruleId?: string\n ) {\n super(message);\n if (filePath !== undefined) {\n this.file = filePath;\n }\n if (loc) {\n this.loc = loc;\n }\n }\n}\n\nconst RUN_ESLINT_INTERVAL = 500;\n\nclass EslintPlugin extends StandalonePlugin {\n protected name = 'EslintPlugin';\n private watcher: FSWatcher | undefined;\n private runEslintInterval: NodeJS.Timeout | undefined;\n private readonly fileStates = new Map<string, FileState>();\n private compilation: Compilation | undefined;\n private resolveAwaitIdlePromise: (() => void) | undefined;\n private shouldRun = false;\n\n protected async setup(compiler: Compiler): Promise<void> {\n return await new Promise<void>(resolve => {\n this.runEslintInterval = setInterval(() => this.runEslint(), RUN_ESLINT_INTERVAL);\n\n // Generate the patterns of all the files across the workspace\n const projectPath = this.context;\n const workspacePath = join(projectPath, '..');\n const workspaceDirs = readdirSync(workspacePath, {withFileTypes: true})\n .filter(e => e.isDirectory() && existsSync(join(workspacePath, e.name, 'package.json')))\n .map(e => join(workspacePath, e.name));\n const patterns = ['src/**/*.ts', 'src/**/*.tsx'].flatMap(pattern =>\n workspaceDirs.map(dir => join(dir, pattern))\n );\n\n this.watcher = watch(patterns);\n this.watcher\n .on('add', path => {\n this.shouldRun = true;\n if (path.startsWith(`${projectPath}/`)) {\n this.fileStates.set(path, {status: 'queued'});\n }\n })\n .on('change', path => {\n this.shouldRun = true;\n if (path.startsWith(`${projectPath}/`)) {\n this.fileStates.set(path, {status: 'queued'});\n }\n })\n .on('unlink', path => {\n this.shouldRun = true;\n if (path.startsWith(`${projectPath}/`)) {\n this.fileStates.delete(path);\n }\n })\n .on('ready', () => {\n this.runEslint();\n resolve();\n });\n compiler.hooks.compilation.tap(this.name, comp => {\n this.compilation = comp;\n this.syncErrorsAndWarnings();\n });\n compiler.hooks.afterCompile.tapAsync(this.name, (compilation, cb) => {\n setTimeout(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.awaitIdle().finally(cb);\n }, RUN_ESLINT_INTERVAL);\n });\n });\n }\n\n private runEslint(): void {\n if (!this.shouldRun) {\n return;\n }\n this.shouldRun = false;\n const filesQueued = [...this.fileStates.entries()];\n if (filesQueued.length === 0) {\n return;\n }\n\n const eslintRunId = Math.random();\n for (const [filePath] of filesQueued) {\n this.fileStates.set(filePath, {status: 'in-progress', eslintRunId});\n }\n\n const handleError = (err: unknown): void => {\n for (const [filePath] of filesQueued) {\n const currentState = this.fileStates.get(filePath);\n if (\n !currentState ||\n currentState.status !== 'in-progress' ||\n currentState.eslintRunId !== eslintRunId\n ) {\n continue;\n }\n this.fileStates.set(filePath, {status: 'errored', eslintRunId, err});\n }\n };\n\n try {\n const tsConfigPath = join(this.context, 'tsconfig.json');\n const eslint = new ESLint({\n cwd: this.context,\n overrideConfig: {\n settings: {\n 'import/resolver': {\n typescript: {\n project: tsConfigPath,\n },\n },\n },\n languageOptions: {\n parserOptions: {\n project: tsConfigPath,\n },\n },\n },\n });\n eslint\n .lintFiles(filesQueued.map(e => e[0]))\n .then(results => {\n for (const result of results) {\n const currentState = this.fileStates.get(result.filePath);\n if (\n !currentState ||\n currentState.status !== 'in-progress' ||\n currentState.eslintRunId !== eslintRunId\n ) {\n continue;\n }\n if (result.messages.length > 0) {\n this.fileStates.set(result.filePath, {\n status: 'failed',\n eslintRunId,\n messages: result.messages,\n });\n } else {\n this.fileStates.set(result.filePath, {status: 'success', eslintRunId});\n }\n }\n })\n .catch(handleError)\n .finally(() => {\n this.syncErrorsAndWarnings();\n this.checkIdle();\n });\n } catch (err: unknown) {\n handleError(err);\n this.syncErrorsAndWarnings();\n this.checkIdle();\n }\n }\n\n private syncErrorsAndWarnings(): void {\n if (!this.compilation) {\n return;\n }\n\n // Errors\n let eslintError: EslintWebpackError | undefined;\n for (const fileState of this.fileStates.values()) {\n if (fileState.status === 'errored') {\n eslintError = new EslintWebpackError(\n fileState.eslintRunId,\n `Failure to run ESLint:\\n${\n fileState.err instanceof Error ? fileState.err.stack : String(fileState.err)\n }`\n );\n }\n }\n this.compilation.errors = [\n ...(this.compilation.errors as (EslintWebpackError | WebpackError)[]).filter(\n w => !('eslintRunId' in w)\n ),\n ...(eslintError ? [eslintError] : []),\n ];\n\n // Warnings\n this.compilation.warnings = [\n ...(this.compilation.warnings as (EslintWebpackError | WebpackError)[]).filter(\n w => !('eslintRunId' in w)\n ),\n ...[...this.fileStates.entries()]\n .sort((e1, e2) => e1[0].localeCompare(e2[0]))\n .flatMap(([filePath, fileState]) => {\n if (fileState.status !== 'failed') {\n return [];\n }\n return fileState.messages.map(\n msg =>\n new EslintWebpackError(\n fileState.eslintRunId,\n stripAnsi(msg.message),\n filePath,\n {\n start: {line: msg.line, column: msg.column},\n end:\n msg.endLine === undefined\n ? undefined\n : {line: msg.endLine, column: msg.endColumn},\n },\n msg.ruleId ?? undefined\n )\n );\n }),\n ];\n }\n\n private checkIdle(): void {\n if (!this.resolveAwaitIdlePromise) {\n return;\n }\n for (const state of this.fileStates.values()) {\n if (state.status === 'queued' || state.status === 'in-progress') {\n return;\n }\n }\n this.resolveAwaitIdlePromise();\n }\n\n private async awaitIdle(): Promise<void> {\n return await new Promise<void>(resolve => {\n this.resolveAwaitIdlePromise = resolve;\n this.checkIdle();\n });\n }\n\n protected async teardown(): Promise<void> {\n clearInterval(this.runEslintInterval);\n await this.watcher?.close();\n }\n}\n\nexport function eslintPlugin(): WebpackPlugin {\n return new EslintPlugin();\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"fork-ts-checker-webpack-plugin\");","import {join} from 'node:path';\n\nimport ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';\n\nimport {WebpackPlugin} from '@src/webpack/models';\n\nexport function forkTsCheckerPlugin(context: string): WebpackPlugin {\n return new ForkTsCheckerWebpackPlugin({\n typescript: {\n diagnosticOptions: {\n syntactic: true,\n semantic: true,\n declaration: false,\n global: true,\n },\n mode: 'readonly',\n configFile: join(context, 'tsconfig.json'),\n },\n formatter: 'basic',\n logger: {log: () => {}, error: () => {}},\n });\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"terser-webpack-plugin\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"node:child_process\");","import {exec} from 'node:child_process';\nimport {appendFileSync} from 'node:fs';\nimport {join} from 'node:path';\n\nimport {Compiler} from 'webpack';\n\nimport {error} from '@src/logger';\n\nexport class YarnPlugin {\n public apply(compiler: Compiler): void {\n compiler.hooks.beforeRun.tapAsync('YarnPlugin', (compiler, cb) => {\n const command = [\n 'yarn',\n 'install',\n '--audit',\n '--check-files',\n '--non-interactive',\n '--production=false',\n ].join(' ');\n exec(command, {cwd: compiler.context}, (err, stdout, stderr) => {\n if (err) {\n error(`Yarn failed in ${compiler.context}`);\n cb(err);\n return;\n }\n const warnings = stderr.split('\\n').filter(l => l.trim().length > 0);\n if (warnings.length > 0) {\n appendFileSync(join(compiler.context, `.yarn-warnings.log`), stderr);\n }\n cb();\n });\n });\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"@babel/core\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"@babel/preset-env\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"@babel/preset-typescript\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"babel-loader\");","export const PACKAGE_VERSIONS = {\n project: '1.12.6',\n eslint: '1.8.5',\n prettier: '1.5.0',\n tsconfig: '1.7.4',\n webpack: '1.8.4',\n runner: '1.6.6',\n lambdaServerRuntime: '1.0.7',\n};\n\nexport const ESLINT_VERSION = '9.8.x';\nexport const PRETTIER_VERSION = '3.3.3';\nexport const TYPESCRIPT_VERSION = '5.5.x';\nexport const MIN_NODE_VERSION = '20.10';\nexport const NODE_VERSION = `>=${MIN_NODE_VERSION}`;\nexport const CORE_JS_VERSION = '3.37';\n\nexport const LIB_VERSIONS = {\n '@types/react': '18.2.x',\n '@types/react-dom': '18.2.x',\n react: '18.2.x',\n 'react-dom': '18.2.x',\n 'styled-components': '6.1.x',\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"source-map-loader\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"node:fs/promises\");","import {exec} from 'node:child_process';\nimport {promises, readFileSync} from 'node:fs';\nimport {dirname, join} from 'node:path';\n\nimport {BuiltInParserName, format} from 'prettier';\n\nexport const {access, readFile: readFileInternal, readdir, stat} = promises;\nconst {writeFile, mkdir, rm} = promises;\n\nexport async function readFile(path: string): Promise<string> {\n const buffer = await readFileInternal(path);\n return buffer.toString();\n}\n\nconst prettierConfig = (parser: BuiltInParserName) =>\n ({\n parser,\n printWidth: 100,\n singleQuote: true,\n trailingComma: 'es5',\n bracketSpacing: false,\n arrowParens: 'avoid',\n endOfLine: 'auto',\n }) as const;\n\nexport async function prettierFormat(str: string, parser: BuiltInParserName): Promise<string> {\n return await format(str, prettierConfig(parser));\n}\n\nexport async function writeRawFile(path: string, content: string): Promise<void> {\n await mkdir(dirname(path), {recursive: true});\n await writeFile(path, content);\n}\n\nexport async function prettyJson(json: unknown, opts?: {compact?: boolean}): Promise<string> {\n const {compact} = opts ?? {};\n return await format(\n compact ? JSON.stringify(json) : JSON.stringify(json, undefined, 2),\n prettierConfig('json')\n );\n}\nexport async function prettyJsonc(json: unknown, opts?: {compact?: boolean}): Promise<string> {\n const {compact} = opts ?? {};\n return await format(\n compact ? JSON.stringify(json) : JSON.stringify(json, undefined, 2),\n prettierConfig('jsonc')\n );\n}\nexport async function writeJsonFile(path: string, json: unknown): Promise<void> {\n await writeRawFile(path, await prettyJson(json));\n}\n\nexport async function prettyJs(js: string): Promise<string> {\n return await format(js, prettierConfig('babel'));\n}\nexport async function writeJsFile(path: string, js: string): Promise<void> {\n await writeRawFile(path, await prettyJs(js));\n}\n\nexport async function prettyTs(ts: string): Promise<string> {\n return await format(ts, prettierConfig('typescript'));\n}\nexport async function writeTsFile(path: string, ts: string): Promise<void> {\n await writeRawFile(path, await prettyTs(ts));\n}\n\nexport async function writeRawFileIfNotExists(path: string, content: string): Promise<void> {\n if (await exists(path)) {\n return;\n }\n await writeRawFile(path, content);\n}\n\nexport async function rmDir(dirPath: string): Promise<void> {\n await rm(dirPath, {recursive: true, force: true});\n}\n\nexport async function cleanDir(dirPath: string): Promise<void> {\n try {\n await rmDir(dirPath);\n } finally {\n await mkdir(dirPath, {recursive: true});\n }\n}\n\nexport async function cp(from: string, to: string): Promise<void> {\n return await new Promise((resolve, reject) => {\n exec(`cp -R ${from} ${to}`, err => (err ? reject(err) : resolve()));\n });\n}\n\nexport async function exists(path: string): Promise<boolean> {\n try {\n await access(path);\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function maybeReadFile(path: string): Promise<string | undefined> {\n try {\n const fileContent = await readFile(path);\n return fileContent.toString();\n } catch {\n return undefined;\n }\n}\n\nexport function maybeReadFileSync(path: string): string | undefined {\n try {\n const fileContent = readFileSync(path);\n return fileContent.toString();\n } catch {\n return undefined;\n }\n}\n\nexport async function listFiles(path: string): Promise<string[]> {\n const files: string[] = [];\n const ents = await readdir(path, {withFileTypes: true});\n const promises: Promise<void>[] = [];\n for (const ent of ents) {\n const entPath = join(path, ent.name);\n if (ent.isDirectory()) {\n promises.push(\n listFiles(entPath).then(subFiles => {\n files.push(...subFiles);\n })\n );\n } else if (ent.isFile()) {\n files.push(entPath);\n }\n }\n await Promise.all(promises);\n return files;\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"node:crypto\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"prettier\");","import {createHash} from 'node:crypto';\nimport {mkdir, readdir, readFile, rm, stat} from 'node:fs/promises';\nimport {join, resolve} from 'node:path';\n\nimport {exists, rmDir} from '@src/fs';\nimport {log} from '@src/logger';\n\nexport interface WebpackConfigFragment {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n config: () => any;\n dependencies: Record<string, string>;\n}\n\nconst packageJsonCache = new Map<string, Record<string, unknown> | undefined>();\n\nexport async function findPackageJson(p: string): Promise<Record<string, unknown> | undefined> {\n if (packageJsonCache.has(p)) {\n return packageJsonCache.get(p);\n }\n try {\n const pStat = await stat(p);\n if (pStat.isDirectory()) {\n const dir = await readdir(p);\n if (dir.includes('package.json')) {\n const fileContent = await readFile(join(p, 'package.json'));\n const json = JSON.parse(fileContent.toString()) as Record<string, unknown>;\n packageJsonCache.set(p, json);\n return json;\n }\n if (p === '/') {\n return undefined;\n }\n }\n const res = await findPackageJson(resolve(`${p}/..`));\n packageJsonCache.set(p, res);\n return res;\n } catch (err: unknown) {\n log('findPackageJson');\n log(err);\n packageJsonCache.set(p, undefined);\n return undefined;\n }\n}\n\nexport function getPort(context: string): number {\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const hexHash = createHash('md5').update(context).digest('hex').slice(0, 4);\n const port = 1024 + Math.floor(parseInt(hexHash, 16) / 2);\n return port;\n}\n\nexport async function initLogFile(context: string, logFileName: string): Promise<string> {\n // Find the root of the project and create the log dir there\n try {\n const root = await lookupRoot(context);\n const logDir = join(root, 'log');\n await rmDir(logDir);\n await mkdir(logDir, {recursive: true});\n const logFile = join(logDir, logFileName);\n if (await exists(logFile)) {\n await rm(logFile);\n }\n return logFile;\n } catch {\n throw new Error(`Failure to identify project root from ${context}`);\n }\n}\n\nasync function lookupRoot(fromPath: string): Promise<string> {\n if (await exists(join(fromPath, 'package.json'))) {\n return fromPath;\n }\n const parent = join(fromPath, '..');\n if (parent === fromPath) {\n throw new Error('Failure to lookup root');\n }\n return await lookupRoot(parent);\n}\n","import {exec} from 'node:child_process';\nimport {writeFile} from 'node:fs/promises';\n\nimport {Compiler} from 'webpack';\n\nimport {globalError} from '@src/global_error';\nimport {error, log} from '@src/logger';\nimport {WebpackPlugin} from '@src/webpack/models';\nimport {findPackageJson} from '@src/webpack/utils';\n\ninterface DependencyPackerPluginOptions {\n packageJsonProperties?: Record<string, unknown>;\n disableYarnRun?: boolean;\n}\n\nclass DependencyPackerPlugin {\n public constructor(private readonly opts: DependencyPackerPluginOptions = {}) {}\n\n public apply(compiler: Compiler): void {\n const name = 'DependencyPackerPlugin';\n const depMap = new Map<string, string>();\n\n compiler.resolverFactory.hooks.resolver.for('normal').tap(name, resolver => {\n resolver.hooks.result.tap(name, result => {\n if (\n result.descriptionFileRoot !== undefined &&\n !result.descriptionFileRoot.includes('/node_modules/')\n ) {\n return result;\n }\n if (\n result.descriptionFileData &&\n 'name' in result.descriptionFileData &&\n 'version' in result.descriptionFileData\n ) {\n const {name, version} = result.descriptionFileData as {name: string; version: string};\n depMap.set(name, version);\n } else {\n log('failure to identify module', result.descriptionFileData);\n }\n return result;\n });\n });\n\n compiler.hooks.beforeRun.tap(name, () => depMap.clear());\n // compiler.hooks.compilation.tap(name, compilation => {\n // // compilation.hooks.finishModules.tapPromise(name, async modules => {\n // // await Promise.allSettled(\n // // [...modules].map(async m => {\n // // if (!('userRequest' in m)) {\n // // return;\n // // }\n // // // log(\n // // // compilation.resolverFactory\n // // // .get('normal')\n // // // .resolveSync(m.context, compiler.context, m.request)\n // // // );\n // // const module = m as ExternalModule | NormalModule;\n // // const request = module.userRequest;\n // // if (request.startsWith('node:')) {\n // // return;\n // // }\n // // const res = await matcherAsync(module.userRequest);\n // // if (res === undefined) {\n // // return;\n // // }\n // // const packageJson = await findPackageJson(res);\n // // if (packageJson === undefined) {\n // // return;\n // // }\n // // depMap.set(packageJson['name'] as string, packageJson['version'] as string);\n // // })\n // // );\n // // });\n // });\n compiler.hooks.done.tapPromise(name, async stats => {\n const dependencies = Object.fromEntries(\n [...depMap.entries()].sort((e1, e2) => e1[0].localeCompare(e2[0]))\n );\n\n let {name, version, ...extraProps} = this.opts.packageJsonProperties ?? {};\n\n if (name === undefined || version === undefined) {\n const entryPoints = Object.values(stats.compilation.compiler.options.entry);\n const [firstEntryPoint] = entryPoints;\n if (firstEntryPoint === undefined) {\n return;\n }\n const entryPoint = firstEntryPoint.import.at(-1) as string;\n const entryPackageJson = await findPackageJson(entryPoint);\n if (!entryPackageJson) {\n globalError(`Failure to retrieve entryPoint's package.json for ${entryPoint}`);\n return;\n }\n\n name = entryPackageJson['name'] as string;\n version = entryPackageJson['version'] as string;\n }\n\n const outputDirectory = stats.compilation.compiler.options.output.path as string;\n await writeFile(\n `${outputDirectory}/package.json`,\n JSON.stringify(\n {\n name,\n version,\n type: 'module',\n main: 'index.js',\n ...extraProps,\n dependencies,\n },\n undefined,\n 2\n )\n );\n if (!this.opts.disableYarnRun) {\n await yarnInstall(outputDirectory);\n }\n });\n }\n}\n\nasync function yarnInstall(path: string): Promise<void> {\n return await new Promise((resolve, reject) => {\n exec(`yarn install --non-interactive --production`, {cwd: path}, (err, stdout, stderr) => {\n if (!err) {\n resolve();\n } else {\n error(`Failure to run \\`yarn install\\` at \"${path}\"\\n${stderr}`);\n reject(new Error(stderr));\n }\n });\n });\n}\n\nexport function dependencyPackerPlugin(opts?: DependencyPackerPluginOptions): WebpackPlugin {\n return new DependencyPackerPlugin(opts);\n}\n","import {join} from 'node:path';\n\nimport {Configuration} from 'webpack';\n\nimport {baseConfig} from '@src/webpack/common-configs/base_config';\nimport {babelLoaderNode} from '@src/webpack/loaders/babel_loader_node';\nimport {sourceMapLoader} from '@src/webpack/loaders/source_map_loader';\nimport {dependencyPackerPlugin} from '@src/webpack/plugins/dependency_packer_plugin';\nimport {findPackageJson} from '@src/webpack/utils';\n\nexport function nodeConfig(opts: {\n context: string;\n watch: boolean;\n isLib: boolean;\n noEntry?: boolean;\n packageJsonProperties?: Record<string, unknown>;\n disableYarnRun?: boolean;\n}): Configuration {\n const {context, watch, isLib, noEntry, packageJsonProperties, disableYarnRun} = opts;\n const base = baseConfig({context, watch});\n return {\n ...base,\n target: 'node',\n entry: noEntry ? {} : {index: join(context, `src/index.ts`)},\n output: {\n path: join(context, 'dist'),\n filename: `[name].js`,\n clean: {\n keep: fileName => fileName.startsWith('node_modules') || fileName === 'yarn.lock',\n },\n chunkFormat: 'module',\n ...(isLib ? {library: {type: 'module'}} : {}),\n },\n module: {\n rules: [babelLoaderNode(), sourceMapLoader()],\n parser: {\n javascript: {importMeta: false},\n },\n },\n resolve: {\n extensions: ['.js', '.jsx', '.ts', '.tsx'],\n modules: ['node_modules', '../shared-node/node_modules', '../shared/node_modules'],\n alias: {\n '@src': join(context, 'src'),\n '@shared': join(context, '../shared/src'),\n '@shared-node': join(context, '../shared-node/src'),\n },\n },\n plugins: [\n ...(base.plugins ?? []),\n dependencyPackerPlugin({packageJsonProperties, disableYarnRun}),\n ],\n externals: (ctx, cb) => {\n const {request, context, contextInfo, getResolve} = ctx;\n if (request === undefined) {\n return cb();\n }\n if (request.startsWith('node:')) {\n return cb(undefined, `node-commonjs ${request}`);\n }\n\n const resolver = getResolve?.();\n if (!resolver) {\n return cb(new Error('No resolver when checking for externals'));\n }\n (resolver as (ctx: string, req: string) => Promise<string>)(context ?? '', request)\n .then(res => {\n if (!res.includes('/node_modules/')) {\n return cb();\n }\n findPackageJson(res)\n .then(packageJson => {\n if (packageJson && packageJson['type'] === 'module') {\n return cb(undefined, `module ${request}`);\n }\n cb(undefined, `node-commonjs ${request}`);\n })\n .catch(() => cb(undefined, `node-commonjs ${request}`));\n })\n .catch(() => {\n cb(new Error(`Can't resolve '${request}' in '${contextInfo?.issuer}'`));\n });\n },\n experiments: {\n ...base.experiments,\n outputModule: true,\n },\n };\n}\n","import {Configuration} from 'webpack';\n\nimport {definePlugin} from '@src/webpack/plugins/define_plugin';\nimport {eslintPlugin} from '@src/webpack/plugins/eslint_plugin';\nimport {forkTsCheckerPlugin} from '@src/webpack/plugins/fork_ts_checker_plugin';\nimport {terserPlugin} from '@src/webpack/plugins/terser_plugin';\nimport {YarnPlugin} from '@src/webpack/plugins/yarn_plugin';\n\nexport function baseConfig(opts: {context: string; watch: boolean}): Configuration {\n const {context} = opts;\n\n return {\n mode: 'none',\n context,\n entry: {},\n devtool: 'source-map',\n plugins: [new YarnPlugin(), forkTsCheckerPlugin(context), eslintPlugin(), definePlugin()],\n stats: false,\n infrastructureLogging: {level: 'error'},\n optimization: {\n minimize: true,\n minimizer: [terserPlugin()],\n concatenateModules: true,\n sideEffects: true,\n },\n experiments: {\n backCompat: true,\n },\n };\n}\n","import webpack from 'webpack'; // eslint-disable-line import/no-named-as-default\n\nimport {WebpackPlugin} from '@src/webpack/models';\n\nexport function definePlugin(): WebpackPlugin {\n return new webpack.DefinePlugin({\n 'process.env.NODE_ENV': '\"production\"',\n });\n}\n","import TerserWebpackPlugin from 'terser-webpack-plugin';\n\nimport {WebpackPlugin} from '@src/webpack/models';\n\nexport function terserPlugin(): WebpackPlugin {\n return new TerserWebpackPlugin({\n terserOptions: {\n format: {\n comments: false,\n },\n },\n extractComments: false,\n });\n}\n","/* eslint-disable import/no-unassigned-import */\nimport '@babel/core';\nimport '@babel/preset-env';\nimport '@babel/preset-typescript';\nimport 'babel-loader';\n\nimport {MIN_NODE_VERSION} from '@src/versions';\nimport {WebpackLoader} from '@src/webpack/models';\n/* eslint-enable import/no-unassigned-import */\n\nexport function babelLoaderNode(): WebpackLoader {\n return {\n test: /\\.tsx?$/u,\n exclude: /\\/node_modules\\//u,\n loader: 'babel-loader',\n options: {\n presets: [\n [\n '@babel/preset-env',\n {\n targets: {\n node: MIN_NODE_VERSION,\n },\n },\n ],\n ['@babel/preset-typescript'],\n ],\n },\n };\n}\n","/* eslint-disable import/no-unassigned-import */\nimport '@babel/core';\nimport '@babel/preset-env';\nimport '@babel/preset-typescript';\nimport 'babel-loader';\nimport 'source-map-loader';\n\nimport {WebpackLoader} from '@src/webpack/models';\n/* eslint-enable import/no-unassigned-import */\n\nexport function sourceMapLoader(): WebpackLoader {\n return {\n test: /\\.js$/u,\n use: ['source-map-loader'],\n enforce: 'pre',\n };\n}\n","import {Configuration} from 'webpack';\n\nimport {nodeConfig} from '@src/webpack/common-configs/node_config';\n\nexport function config(opts: {context: string; watch: boolean}): Configuration {\n return nodeConfig({...opts, isLib: false});\n}\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","__WEBPACK_EXTERNAL_createRequire","url","ansiRegex","RegExp","join","error","console","log","globalError","val","data","str","Error","stack","String","JSON","stringify","appendFileSync","called","callbacks","runCallbacks","fn","Promise","resolve","catch","err","process","on","StandalonePlugin","context","cwd","apply","compiler","cb","this","hooks","beforeRun","tapPromise","name","async","setupHandler","watchRun","shutdown","exitHandlerAsync","exitHandler","push","hasStarted","setup","hasExited","teardown","EslintWebpackError","WebpackError","constructor","eslintRunId","message","filePath","loc","ruleId","super","undefined","file","EslintPlugin","fileStates","Map","shouldRun","runEslintInterval","setInterval","runEslint","projectPath","workspacePath","workspaceDirs","readdirSync","withFileTypes","filter","e","isDirectory","existsSync","map","patterns","flatMap","pattern","dir","watcher","watch","path","startsWith","set","status","delete","compilation","tap","comp","syncErrorsAndWarnings","afterCompile","tapAsync","setTimeout","awaitIdle","finally","filesQueued","entries","length","Math","random","handleError","currentState","tsConfigPath","ESLint","overrideConfig","settings","typescript","project","languageOptions","parserOptions","lintFiles","then","results","result","messages","checkIdle","eslintError","fileState","values","errors","w","warnings","sort","e1","e2","localeCompare","msg","replace","start","line","column","end","endLine","endColumn","resolveAwaitIdlePromise","state","clearInterval","close","forkTsCheckerPlugin","ForkTsCheckerWebpackPlugin","diagnosticOptions","syntactic","semantic","declaration","global","mode","configFile","formatter","logger","YarnPlugin","command","exec","stdout","stderr","split","l","trim","MIN_NODE_VERSION","access","readFile","readFileInternal","readdir","stat","promises","writeFile","mkdir","rm","packageJsonCache","findPackageJson","p","has","includes","fileContent","json","parse","toString","res","DependencyPackerPlugin","opts","depMap","resolverFactory","resolver","for","descriptionFileRoot","descriptionFileData","version","clear","done","dependencies","fromEntries","extraProps","packageJsonProperties","entryPoints","stats","options","entry","firstEntryPoint","entryPoint","import","at","entryPackageJson","outputDirectory","output","type","main","disableYarnRun","reject","yarnInstall","dependencyPackerPlugin","nodeConfig","isLib","noEntry","base","devtool","plugins","webpack","infrastructureLogging","level","optimization","minimize","minimizer","TerserWebpackPlugin","terserOptions","format","comments","extractComments","concatenateModules","sideEffects","experiments","backCompat","baseConfig","target","index","filename","clean","keep","fileName","chunkFormat","library","rules","test","exclude","loader","presets","targets","node","use","enforce","parser","javascript","importMeta","extensions","modules","alias","externals","ctx","request","contextInfo","getResolve","packageJson","issuer","outputModule","config"],"sourceRoot":""}
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://b/webpack/bootstrap","webpack://b/webpack/runtime/compat get default export","webpack://b/webpack/runtime/define property getters","webpack://b/webpack/runtime/hasOwnProperty shorthand","webpack://b/webpack/runtime/make namespace object","webpack://b/external node-commonjs \"node:path\"","webpack://b/external node-commonjs \"webpack\"","webpack://b/external node-commonjs \"node:fs\"","webpack://b/external node-commonjs \"chokidar\"","webpack://b/external node-commonjs \"eslint\"","webpack://b/./src/webpack/plugins/formatter.ts","webpack://b/./src/logger.ts","webpack://b/./src/global_error.ts","webpack://b/./src/exit_handler.ts","webpack://b/./src/webpack/plugins/standalone_plugin.ts","webpack://b/./src/webpack/plugins/eslint_plugin.ts","webpack://b/external node-commonjs \"fork-ts-checker-webpack-plugin\"","webpack://b/./src/webpack/plugins/fork_ts_checker_plugin.ts","webpack://b/external node-commonjs \"terser-webpack-plugin\"","webpack://b/external node-commonjs \"node:child_process\"","webpack://b/./src/webpack/plugins/yarn_plugin.ts","webpack://b/external node-commonjs \"@babel/core\"","webpack://b/external node-commonjs \"@babel/preset-env\"","webpack://b/external node-commonjs \"@babel/preset-typescript\"","webpack://b/external node-commonjs \"babel-loader\"","webpack://b/./src/versions.ts","webpack://b/external node-commonjs \"source-map-loader\"","webpack://b/external node-commonjs \"node:fs/promises\"","webpack://b/./src/fs.ts","webpack://b/external node-commonjs \"node:crypto\"","webpack://b/external node-commonjs \"prettier\"","webpack://b/./src/webpack/utils.ts","webpack://b/./src/webpack/plugins/dependency_packer_plugin.ts","webpack://b/./src/webpack/common-configs/node_config.ts","webpack://b/./src/webpack/common-configs/base_config.ts","webpack://b/./src/webpack/plugins/define_plugin.ts","webpack://b/./src/webpack/plugins/terser_plugin.ts","webpack://b/./src/webpack/loaders/babel_loader_node.ts","webpack://b/./src/webpack/loaders/source_map_loader.ts","webpack://b/./src/webpack/configs/node_script.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"node:path\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"webpack\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"node:fs\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"chokidar\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"eslint\");","const ansiRegex = new RegExp(\n [\n '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))',\n ].join('|'),\n 'gu'\n);\nexport const stripAnsi = (s: string): string => s.replace(ansiRegex, '');\n","export const error: (message?: unknown, ...optionalParams: unknown[]) => void = console.error;\nexport const log: (message?: unknown, ...optionalParams: unknown[]) => void = console.log;\n","import {appendFileSync} from 'node:fs';\n\nimport {error} from '@src/logger';\n\nexport function globalError(...val: unknown[]): void {\n for (const data of val) {\n try {\n const str =\n typeof data === 'string'\n ? data\n : data instanceof Error\n ? (data.stack ?? String(data))\n : JSON.stringify(data);\n error(str);\n appendFileSync('error.log', str);\n } catch {\n // Don't log anything that went wrong during logging to prevent infinite loops\n }\n }\n}\n","import {globalError} from '@src/global_error';\n\nlet called = false;\nconst callbacks: (() => void | Promise<void>)[] = [];\n\nfunction runCallbacks(): void {\n if (called) {\n return;\n }\n called = true;\n for (const fn of callbacks) {\n Promise.resolve(fn()).catch((err: unknown) =>\n globalError('Failure to run exit cleanup callback', err)\n );\n }\n}\n\nprocess.on('beforeExit', () => runCallbacks());\nprocess.on('exit', () => runCallbacks());\nprocess.on('SIGTERM', () => runCallbacks());\nprocess.on('SIGINT', () => runCallbacks());\nprocess.on('uncaughtException', err => {\n globalError('uncaughtException', err);\n runCallbacks();\n});\n\nexport function registerExitCallback(cb: () => void | Promise<void>): void {\n callbacks.push(cb);\n}\n","import {Compiler} from 'webpack';\n\nimport {registerExitCallback} from '@src/exit_handler';\nimport {globalError} from '@src/global_error';\n\nexport abstract class StandalonePlugin {\n protected abstract name: string;\n protected context: string = process.cwd();\n\n // INITIALIZE\n\n public apply(compiler: Compiler): void {\n this.context = compiler.context;\n compiler.hooks.beforeRun.tapPromise(this.name, async () => await this.setupHandler(compiler));\n compiler.hooks.watchRun.tapPromise(this.name, async () => await this.setupHandler(compiler));\n compiler.hooks.shutdown.tapPromise(\n this.name,\n async () => await this.exitHandlerAsync(compiler)\n );\n registerExitCallback(() => this.exitHandler(compiler));\n }\n\n protected abstract setup(compiler: Compiler): void | Promise<void>;\n protected abstract teardown(compiler: Compiler): void | Promise<void>;\n\n // SETUP\n\n private hasStarted = false;\n private async setupHandler(compiler: Compiler): Promise<void> {\n if (this.hasStarted) {\n return;\n }\n this.hasStarted = true;\n await this.setup(compiler);\n }\n\n // EXIT\n\n private hasExited = false;\n private exitHandler(compiler: Compiler): void {\n if (this.hasExited) {\n return;\n }\n this.hasExited = true;\n Promise.resolve(this.teardown(compiler)).catch((err: unknown) => {\n globalError(`Error during teardown of plugin ${this.name}`, err);\n });\n }\n private async exitHandlerAsync(compiler: Compiler): Promise<void> {\n if (this.hasExited) {\n return;\n }\n this.hasExited = true;\n await this.teardown(compiler);\n }\n}\n","import {existsSync, readdirSync} from 'node:fs';\nimport {join} from 'node:path';\n\nimport {FSWatcher, watch} from 'chokidar';\n// eslint-disable-next-line n/no-extraneous-import\nimport {ESLint, Linter} from 'eslint';\nimport {Compilation, Compiler, WebpackError} from 'webpack';\n\nimport {WebpackPlugin} from '@src/webpack/models';\nimport {stripAnsi} from '@src/webpack/plugins/formatter';\nimport {StandalonePlugin} from '@src/webpack/plugins/standalone_plugin';\n\ninterface QueuedFileState {\n status: 'queued';\n}\n\ninterface InProgressFileState {\n status: 'in-progress';\n eslintRunId: number;\n}\n\ninterface SuccessFileState {\n status: 'success';\n eslintRunId: number;\n}\n\ninterface FailureFileState {\n status: 'failed';\n eslintRunId: number;\n messages: Linter.LintMessage[];\n}\n\ninterface ErroredFileState {\n status: 'errored';\n eslintRunId: number;\n err: unknown;\n}\n\ntype FileState =\n | QueuedFileState\n | InProgressFileState\n | SuccessFileState\n | FailureFileState\n | ErroredFileState;\n\nexport class EslintWebpackError extends WebpackError {\n public override name = 'EslintWebpackError';\n public constructor(\n public readonly eslintRunId: number,\n message: string,\n filePath?: string,\n loc?: WebpackError['loc'],\n public readonly ruleId?: string\n ) {\n super(message);\n if (filePath !== undefined) {\n this.file = filePath;\n }\n if (loc) {\n this.loc = loc;\n }\n }\n}\n\nconst RUN_ESLINT_INTERVAL = 500;\n\nclass EslintPlugin extends StandalonePlugin {\n protected name = 'EslintPlugin';\n private watcher: FSWatcher | undefined;\n private runEslintInterval: NodeJS.Timeout | undefined;\n private readonly fileStates = new Map<string, FileState>();\n private compilation: Compilation | undefined;\n private resolveAwaitIdlePromise: (() => void) | undefined;\n private shouldRun = false;\n\n protected async setup(compiler: Compiler): Promise<void> {\n return await new Promise<void>(resolve => {\n this.runEslintInterval = setInterval(() => this.runEslint(), RUN_ESLINT_INTERVAL);\n\n // Generate the patterns of all the files across the workspace\n const projectPath = this.context;\n const workspacePath = join(projectPath, '..');\n const workspaceDirs = readdirSync(workspacePath, {withFileTypes: true})\n .filter(e => e.isDirectory() && existsSync(join(workspacePath, e.name, 'package.json')))\n .map(e => join(workspacePath, e.name));\n const patterns = ['src/**/*.ts', 'src/**/*.tsx'].flatMap(pattern =>\n workspaceDirs.map(dir => join(dir, pattern))\n );\n\n this.watcher = watch(patterns);\n this.watcher\n .on('add', path => {\n this.shouldRun = true;\n if (path.startsWith(`${projectPath}/`)) {\n this.fileStates.set(path, {status: 'queued'});\n }\n })\n .on('change', path => {\n this.shouldRun = true;\n if (path.startsWith(`${projectPath}/`)) {\n this.fileStates.set(path, {status: 'queued'});\n }\n })\n .on('unlink', path => {\n this.shouldRun = true;\n if (path.startsWith(`${projectPath}/`)) {\n this.fileStates.delete(path);\n }\n })\n .on('ready', () => {\n this.runEslint();\n resolve();\n });\n compiler.hooks.compilation.tap(this.name, comp => {\n this.compilation = comp;\n this.syncErrorsAndWarnings();\n });\n compiler.hooks.afterCompile.tapAsync(this.name, (compilation, cb) => {\n setTimeout(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.awaitIdle().finally(cb);\n }, RUN_ESLINT_INTERVAL);\n });\n });\n }\n\n private runEslint(): void {\n if (!this.shouldRun) {\n return;\n }\n this.shouldRun = false;\n const filesQueued = [...this.fileStates.entries()];\n if (filesQueued.length === 0) {\n return;\n }\n\n const eslintRunId = Math.random();\n for (const [filePath] of filesQueued) {\n this.fileStates.set(filePath, {status: 'in-progress', eslintRunId});\n }\n\n const handleError = (err: unknown): void => {\n for (const [filePath] of filesQueued) {\n const currentState = this.fileStates.get(filePath);\n if (\n !currentState ||\n currentState.status !== 'in-progress' ||\n currentState.eslintRunId !== eslintRunId\n ) {\n continue;\n }\n this.fileStates.set(filePath, {status: 'errored', eslintRunId, err});\n }\n };\n\n try {\n const tsConfigPath = join(this.context, 'tsconfig.json');\n const eslint = new ESLint({\n cwd: this.context,\n overrideConfig: {\n settings: {\n 'import/resolver': {\n typescript: {\n project: tsConfigPath,\n },\n },\n },\n languageOptions: {\n parserOptions: {\n project: tsConfigPath,\n },\n },\n },\n });\n eslint\n .lintFiles(filesQueued.map(e => e[0]))\n .then(results => {\n for (const result of results) {\n const currentState = this.fileStates.get(result.filePath);\n if (\n !currentState ||\n currentState.status !== 'in-progress' ||\n currentState.eslintRunId !== eslintRunId\n ) {\n continue;\n }\n if (result.messages.length > 0) {\n this.fileStates.set(result.filePath, {\n status: 'failed',\n eslintRunId,\n messages: result.messages,\n });\n } else {\n this.fileStates.set(result.filePath, {status: 'success', eslintRunId});\n }\n }\n })\n .catch(handleError)\n .finally(() => {\n this.syncErrorsAndWarnings();\n this.checkIdle();\n });\n } catch (err: unknown) {\n handleError(err);\n this.syncErrorsAndWarnings();\n this.checkIdle();\n }\n }\n\n private syncErrorsAndWarnings(): void {\n if (!this.compilation) {\n return;\n }\n\n // Errors\n let eslintError: EslintWebpackError | undefined;\n for (const fileState of this.fileStates.values()) {\n if (fileState.status === 'errored') {\n eslintError = new EslintWebpackError(\n fileState.eslintRunId,\n `Failure to run ESLint:\\n${\n fileState.err instanceof Error ? fileState.err.stack : String(fileState.err)\n }`\n );\n }\n }\n this.compilation.errors = [\n ...(this.compilation.errors as (EslintWebpackError | WebpackError)[]).filter(\n w => !('eslintRunId' in w)\n ),\n ...(eslintError ? [eslintError] : []),\n ];\n\n // Warnings\n this.compilation.warnings = [\n ...(this.compilation.warnings as (EslintWebpackError | WebpackError)[]).filter(\n w => !('eslintRunId' in w)\n ),\n ...[...this.fileStates.entries()]\n .sort((e1, e2) => e1[0].localeCompare(e2[0]))\n .flatMap(([filePath, fileState]) => {\n if (fileState.status !== 'failed') {\n return [];\n }\n return fileState.messages.map(\n msg =>\n new EslintWebpackError(\n fileState.eslintRunId,\n stripAnsi(msg.message),\n filePath,\n {\n start: {line: msg.line, column: msg.column},\n end:\n msg.endLine === undefined\n ? undefined\n : {line: msg.endLine, column: msg.endColumn},\n },\n msg.ruleId ?? undefined\n )\n );\n }),\n ];\n }\n\n private checkIdle(): void {\n if (!this.resolveAwaitIdlePromise) {\n return;\n }\n for (const state of this.fileStates.values()) {\n if (state.status === 'queued' || state.status === 'in-progress') {\n return;\n }\n }\n this.resolveAwaitIdlePromise();\n }\n\n private async awaitIdle(): Promise<void> {\n return await new Promise<void>(resolve => {\n this.resolveAwaitIdlePromise = resolve;\n this.checkIdle();\n });\n }\n\n protected async teardown(): Promise<void> {\n clearInterval(this.runEslintInterval);\n await this.watcher?.close();\n }\n}\n\nexport function eslintPlugin(): WebpackPlugin {\n return new EslintPlugin();\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"fork-ts-checker-webpack-plugin\");","import {join} from 'node:path';\n\nimport ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';\n\nimport {WebpackPlugin} from '@src/webpack/models';\n\nexport function forkTsCheckerPlugin(context: string): WebpackPlugin {\n return new ForkTsCheckerWebpackPlugin({\n typescript: {\n diagnosticOptions: {\n syntactic: true,\n semantic: true,\n declaration: false,\n global: true,\n },\n mode: 'readonly',\n configFile: join(context, 'tsconfig.json'),\n },\n formatter: 'basic',\n logger: {log: () => {}, error: () => {}},\n });\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"terser-webpack-plugin\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"node:child_process\");","import {exec} from 'node:child_process';\nimport {appendFileSync} from 'node:fs';\nimport {join} from 'node:path';\n\nimport {Compiler} from 'webpack';\n\nimport {error} from '@src/logger';\n\nexport class YarnPlugin {\n public apply(compiler: Compiler): void {\n compiler.hooks.beforeRun.tapAsync('YarnPlugin', (compiler, cb) => {\n const command = [\n 'yarn',\n 'install',\n '--audit',\n '--check-files',\n '--non-interactive',\n '--production=false',\n ].join(' ');\n exec(command, {cwd: compiler.context}, (err, stdout, stderr) => {\n if (err) {\n error(`Yarn failed in ${compiler.context}`);\n cb(err);\n return;\n }\n const warnings = stderr.split('\\n').filter(l => l.trim().length > 0);\n if (warnings.length > 0) {\n appendFileSync(join(compiler.context, `.yarn-warnings.log`), stderr);\n }\n cb();\n });\n });\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"@babel/core\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"@babel/preset-env\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"@babel/preset-typescript\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"babel-loader\");","export const PACKAGE_VERSIONS = {\n project: '1.12.9',\n eslint: '1.8.5',\n prettier: '1.5.0',\n tsconfig: '1.7.4',\n webpack: '1.8.5',\n runner: '1.6.9',\n lambdaServerRuntime: '1.0.7',\n};\n\nexport const ESLINT_VERSION = '9.8.x';\nexport const PRETTIER_VERSION = '3.3.3';\nexport const TYPESCRIPT_VERSION = '5.5.x';\nexport const MIN_NODE_VERSION = '20.10';\nexport const NODE_VERSION = `>=${MIN_NODE_VERSION}`;\nexport const CORE_JS_VERSION = '3.37';\n\nexport const LIB_VERSIONS = {\n '@types/react': '18.2.x',\n '@types/react-dom': '18.2.x',\n react: '18.2.x',\n 'react-dom': '18.2.x',\n 'styled-components': '6.1.x',\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"source-map-loader\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"node:fs/promises\");","import {exec} from 'node:child_process';\nimport {promises, readFileSync} from 'node:fs';\nimport {dirname, join} from 'node:path';\n\nimport {BuiltInParserName, format} from 'prettier';\n\nexport const {access, readFile: readFileInternal, readdir, stat} = promises;\nconst {writeFile, mkdir, rm} = promises;\n\nexport async function readFile(path: string): Promise<string> {\n const buffer = await readFileInternal(path);\n return buffer.toString();\n}\n\nconst prettierConfig = (parser: BuiltInParserName) =>\n ({\n parser,\n printWidth: 100,\n singleQuote: true,\n trailingComma: 'es5',\n bracketSpacing: false,\n arrowParens: 'avoid',\n endOfLine: 'auto',\n }) as const;\n\nexport async function prettierFormat(str: string, parser: BuiltInParserName): Promise<string> {\n return await format(str, prettierConfig(parser));\n}\n\nexport async function writeRawFile(path: string, content: string): Promise<void> {\n await mkdir(dirname(path), {recursive: true});\n await writeFile(path, content);\n}\n\nexport async function prettyJson(json: unknown, opts?: {compact?: boolean}): Promise<string> {\n const {compact} = opts ?? {};\n return await format(\n compact ? JSON.stringify(json) : JSON.stringify(json, undefined, 2),\n prettierConfig('json')\n );\n}\nexport async function prettyJsonc(json: unknown, opts?: {compact?: boolean}): Promise<string> {\n const {compact} = opts ?? {};\n return await format(\n compact ? JSON.stringify(json) : JSON.stringify(json, undefined, 2),\n prettierConfig('jsonc')\n );\n}\nexport async function writeJsonFile(path: string, json: unknown): Promise<void> {\n await writeRawFile(path, await prettyJson(json));\n}\n\nexport async function prettyJs(js: string): Promise<string> {\n return await format(js, prettierConfig('babel'));\n}\nexport async function writeJsFile(path: string, js: string): Promise<void> {\n await writeRawFile(path, await prettyJs(js));\n}\n\nexport async function prettyTs(ts: string): Promise<string> {\n return await format(ts, prettierConfig('typescript'));\n}\nexport async function writeTsFile(path: string, ts: string): Promise<void> {\n await writeRawFile(path, await prettyTs(ts));\n}\n\nexport async function writeRawFileIfNotExists(path: string, content: string): Promise<void> {\n if (await exists(path)) {\n return;\n }\n await writeRawFile(path, content);\n}\n\nexport async function rmDir(dirPath: string): Promise<void> {\n await rm(dirPath, {recursive: true, force: true});\n}\n\nexport async function cleanDir(dirPath: string): Promise<void> {\n try {\n await rmDir(dirPath);\n } finally {\n await mkdir(dirPath, {recursive: true});\n }\n}\n\nexport async function cp(from: string, to: string): Promise<void> {\n return await new Promise((resolve, reject) => {\n exec(`cp -R ${from} ${to}`, err => (err ? reject(err) : resolve()));\n });\n}\n\nexport async function exists(path: string): Promise<boolean> {\n try {\n await access(path);\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function maybeReadFile(path: string): Promise<string | undefined> {\n try {\n const fileContent = await readFile(path);\n return fileContent.toString();\n } catch {\n return undefined;\n }\n}\n\nexport function maybeReadFileSync(path: string): string | undefined {\n try {\n const fileContent = readFileSync(path);\n return fileContent.toString();\n } catch {\n return undefined;\n }\n}\n\nexport async function listFiles(path: string): Promise<string[]> {\n const files: string[] = [];\n const ents = await readdir(path, {withFileTypes: true});\n const promises: Promise<void>[] = [];\n for (const ent of ents) {\n const entPath = join(path, ent.name);\n if (ent.isDirectory()) {\n promises.push(\n listFiles(entPath).then(subFiles => {\n files.push(...subFiles);\n })\n );\n } else if (ent.isFile()) {\n files.push(entPath);\n }\n }\n await Promise.all(promises);\n return files;\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"node:crypto\");","const __WEBPACK_NAMESPACE_OBJECT__ = __WEBPACK_EXTERNAL_createRequire(import.meta.url)(\"prettier\");","import {createHash} from 'node:crypto';\nimport {mkdir, readdir, readFile, rm, stat} from 'node:fs/promises';\nimport {join, resolve} from 'node:path';\n\nimport {exists, rmDir} from '@src/fs';\nimport {log} from '@src/logger';\n\nexport interface WebpackConfigFragment {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n config: () => any;\n dependencies: Record<string, string>;\n}\n\nconst packageJsonCache = new Map<string, Record<string, unknown> | undefined>();\n\nexport async function findPackageJson(p: string): Promise<Record<string, unknown> | undefined> {\n if (packageJsonCache.has(p)) {\n return packageJsonCache.get(p);\n }\n try {\n const pStat = await stat(p);\n if (pStat.isDirectory()) {\n const dir = await readdir(p);\n if (dir.includes('package.json')) {\n const fileContent = await readFile(join(p, 'package.json'));\n const json = JSON.parse(fileContent.toString()) as Record<string, unknown>;\n packageJsonCache.set(p, json);\n return json;\n }\n if (p === '/') {\n return undefined;\n }\n }\n const res = await findPackageJson(resolve(`${p}/..`));\n packageJsonCache.set(p, res);\n return res;\n } catch (err: unknown) {\n log('findPackageJson');\n log(err);\n packageJsonCache.set(p, undefined);\n return undefined;\n }\n}\n\nexport function getPort(context: string): number {\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const hexHash = createHash('md5').update(context).digest('hex').slice(0, 4);\n const port = 1024 + Math.floor(parseInt(hexHash, 16) / 2);\n return port;\n}\n\nexport async function initLogFile(context: string, logFileName: string): Promise<string> {\n // Find the root of the project and create the log dir there\n try {\n const root = await lookupRoot(context);\n const logDir = join(root, 'log');\n await rmDir(logDir);\n await mkdir(logDir, {recursive: true});\n const logFile = join(logDir, logFileName);\n if (await exists(logFile)) {\n await rm(logFile);\n }\n return logFile;\n } catch {\n throw new Error(`Failure to identify project root from ${context}`);\n }\n}\n\nasync function lookupRoot(fromPath: string): Promise<string> {\n if (await exists(join(fromPath, 'package.json'))) {\n return fromPath;\n }\n const parent = join(fromPath, '..');\n if (parent === fromPath) {\n throw new Error('Failure to lookup root');\n }\n return await lookupRoot(parent);\n}\n","import {exec} from 'node:child_process';\nimport {writeFile} from 'node:fs/promises';\n\nimport {Compiler} from 'webpack';\n\nimport {globalError} from '@src/global_error';\nimport {error, log} from '@src/logger';\nimport {WebpackPlugin} from '@src/webpack/models';\nimport {findPackageJson} from '@src/webpack/utils';\n\ninterface DependencyPackerPluginOptions {\n packageJsonProperties?: Record<string, unknown>;\n disableYarnRun?: boolean;\n}\n\nclass DependencyPackerPlugin {\n public constructor(private readonly opts: DependencyPackerPluginOptions = {}) {}\n\n public apply(compiler: Compiler): void {\n const name = 'DependencyPackerPlugin';\n const depMap = new Map<string, string>();\n\n compiler.resolverFactory.hooks.resolver.for('normal').tap(name, resolver => {\n resolver.hooks.result.tap(name, result => {\n if (\n result.descriptionFileRoot !== undefined &&\n !result.descriptionFileRoot.includes('/node_modules/')\n ) {\n return result;\n }\n if (\n result.descriptionFileData &&\n 'name' in result.descriptionFileData &&\n 'version' in result.descriptionFileData\n ) {\n const {name, version} = result.descriptionFileData as {name: string; version: string};\n depMap.set(name, version);\n } else {\n log('failure to identify module', result.descriptionFileData);\n }\n return result;\n });\n });\n\n compiler.hooks.beforeRun.tap(name, () => depMap.clear());\n // compiler.hooks.compilation.tap(name, compilation => {\n // // compilation.hooks.finishModules.tapPromise(name, async modules => {\n // // await Promise.allSettled(\n // // [...modules].map(async m => {\n // // if (!('userRequest' in m)) {\n // // return;\n // // }\n // // // log(\n // // // compilation.resolverFactory\n // // // .get('normal')\n // // // .resolveSync(m.context, compiler.context, m.request)\n // // // );\n // // const module = m as ExternalModule | NormalModule;\n // // const request = module.userRequest;\n // // if (request.startsWith('node:')) {\n // // return;\n // // }\n // // const res = await matcherAsync(module.userRequest);\n // // if (res === undefined) {\n // // return;\n // // }\n // // const packageJson = await findPackageJson(res);\n // // if (packageJson === undefined) {\n // // return;\n // // }\n // // depMap.set(packageJson['name'] as string, packageJson['version'] as string);\n // // })\n // // );\n // // });\n // });\n compiler.hooks.done.tapPromise(name, async stats => {\n const dependencies = Object.fromEntries(\n [...depMap.entries()].sort((e1, e2) => e1[0].localeCompare(e2[0]))\n );\n\n let {name, version, ...extraProps} = this.opts.packageJsonProperties ?? {};\n\n if (name === undefined || version === undefined) {\n const entryPoints = Object.values(stats.compilation.compiler.options.entry);\n const [firstEntryPoint] = entryPoints;\n if (firstEntryPoint === undefined) {\n return;\n }\n const entryPoint = firstEntryPoint.import.at(-1) as string;\n const entryPackageJson = await findPackageJson(entryPoint);\n if (!entryPackageJson) {\n globalError(`Failure to retrieve entryPoint's package.json for ${entryPoint}`);\n return;\n }\n\n name = entryPackageJson['name'] as string;\n version = entryPackageJson['version'] as string;\n }\n\n const outputDirectory = stats.compilation.compiler.options.output.path as string;\n await writeFile(\n `${outputDirectory}/package.json`,\n JSON.stringify(\n {\n name,\n version,\n type: 'module',\n main: 'index.js',\n ...extraProps,\n dependencies,\n },\n undefined,\n 2\n )\n );\n if (!this.opts.disableYarnRun) {\n await yarnInstall(outputDirectory);\n }\n });\n }\n}\n\nasync function yarnInstall(path: string): Promise<void> {\n return await new Promise((resolve, reject) => {\n exec(`yarn install --non-interactive --production`, {cwd: path}, (err, stdout, stderr) => {\n if (!err) {\n resolve();\n } else {\n error(`Failure to run \\`yarn install\\` at \"${path}\"\\n${stderr}`);\n reject(new Error(stderr));\n }\n });\n });\n}\n\nexport function dependencyPackerPlugin(opts?: DependencyPackerPluginOptions): WebpackPlugin {\n return new DependencyPackerPlugin(opts);\n}\n","import {join} from 'node:path';\n\nimport {Configuration} from 'webpack';\n\nimport {baseConfig} from '@src/webpack/common-configs/base_config';\nimport {babelLoaderNode} from '@src/webpack/loaders/babel_loader_node';\nimport {sourceMapLoader} from '@src/webpack/loaders/source_map_loader';\nimport {dependencyPackerPlugin} from '@src/webpack/plugins/dependency_packer_plugin';\nimport {findPackageJson} from '@src/webpack/utils';\n\nexport function nodeConfig(opts: {\n context: string;\n watch: boolean;\n isLib: boolean;\n noEntry?: boolean;\n packageJsonProperties?: Record<string, unknown>;\n disableYarnRun?: boolean;\n}): Configuration {\n const {context, watch, isLib, noEntry, packageJsonProperties, disableYarnRun} = opts;\n const base = baseConfig({context, watch});\n return {\n ...base,\n target: 'node',\n entry: noEntry ? {} : {index: join(context, `src/index.ts`)},\n output: {\n path: join(context, 'dist'),\n filename: `[name].js`,\n clean: {\n keep: fileName => fileName.startsWith('node_modules') || fileName === 'yarn.lock',\n },\n chunkFormat: 'module',\n ...(isLib ? {library: {type: 'module'}} : {}),\n },\n module: {\n rules: [babelLoaderNode(), sourceMapLoader()],\n parser: {\n javascript: {importMeta: false},\n },\n },\n resolve: {\n extensions: ['.js', '.jsx', '.ts', '.tsx'],\n modules: ['node_modules', '../shared-node/node_modules', '../shared/node_modules'],\n alias: {\n '@src': join(context, 'src'),\n '@shared': join(context, '../shared/src'),\n '@shared-node': join(context, '../shared-node/src'),\n },\n },\n plugins: [\n ...(base.plugins ?? []),\n dependencyPackerPlugin({packageJsonProperties, disableYarnRun}),\n ],\n externals: (ctx, cb) => {\n const {request, context, contextInfo, getResolve} = ctx;\n if (request === undefined) {\n return cb();\n }\n if (request.startsWith('node:')) {\n return cb(undefined, `node-commonjs ${request}`);\n }\n\n const resolver = getResolve?.();\n if (!resolver) {\n return cb(new Error('No resolver when checking for externals'));\n }\n (resolver as (ctx: string, req: string) => Promise<string>)(context ?? '', request)\n .then(res => {\n if (!res.includes('/node_modules/')) {\n return cb();\n }\n findPackageJson(res)\n .then(packageJson => {\n if (packageJson && packageJson['type'] === 'module') {\n return cb(undefined, `module ${request}`);\n }\n cb(undefined, `node-commonjs ${request}`);\n })\n .catch(() => cb(undefined, `node-commonjs ${request}`));\n })\n .catch(() => {\n cb(new Error(`Can't resolve '${request}' in '${contextInfo?.issuer}'`));\n });\n },\n experiments: {\n ...base.experiments,\n outputModule: true,\n },\n };\n}\n","import {Configuration} from 'webpack';\n\nimport {definePlugin} from '@src/webpack/plugins/define_plugin';\nimport {eslintPlugin} from '@src/webpack/plugins/eslint_plugin';\nimport {forkTsCheckerPlugin} from '@src/webpack/plugins/fork_ts_checker_plugin';\nimport {terserPlugin} from '@src/webpack/plugins/terser_plugin';\nimport {YarnPlugin} from '@src/webpack/plugins/yarn_plugin';\n\nexport function baseConfig(opts: {context: string; watch: boolean}): Configuration {\n const {context} = opts;\n\n return {\n mode: 'none',\n context,\n entry: {},\n devtool: 'source-map',\n plugins: [new YarnPlugin(), forkTsCheckerPlugin(context), eslintPlugin(), definePlugin()],\n stats: false,\n infrastructureLogging: {level: 'error'},\n optimization: {\n minimize: true,\n minimizer: [terserPlugin()],\n concatenateModules: true,\n sideEffects: true,\n },\n experiments: {\n backCompat: true,\n },\n };\n}\n","import webpack from 'webpack'; // eslint-disable-line import/no-named-as-default\n\nimport {WebpackPlugin} from '@src/webpack/models';\n\nexport function definePlugin(): WebpackPlugin {\n return new webpack.DefinePlugin({\n 'process.env.NODE_ENV': '\"production\"',\n });\n}\n","import TerserWebpackPlugin from 'terser-webpack-plugin';\n\nimport {WebpackPlugin} from '@src/webpack/models';\n\nexport function terserPlugin(): WebpackPlugin {\n return new TerserWebpackPlugin({\n terserOptions: {\n format: {\n comments: false,\n },\n },\n extractComments: false,\n });\n}\n","/* eslint-disable import/no-unassigned-import */\nimport '@babel/core';\nimport '@babel/preset-env';\nimport '@babel/preset-typescript';\nimport 'babel-loader';\n\nimport {MIN_NODE_VERSION} from '@src/versions';\nimport {WebpackLoader} from '@src/webpack/models';\n/* eslint-enable import/no-unassigned-import */\n\nexport function babelLoaderNode(): WebpackLoader {\n return {\n test: /\\.tsx?$/u,\n exclude: /\\/node_modules\\//u,\n loader: 'babel-loader',\n options: {\n presets: [\n [\n '@babel/preset-env',\n {\n targets: {\n node: MIN_NODE_VERSION,\n },\n },\n ],\n ['@babel/preset-typescript'],\n ],\n },\n };\n}\n","/* eslint-disable import/no-unassigned-import */\nimport '@babel/core';\nimport '@babel/preset-env';\nimport '@babel/preset-typescript';\nimport 'babel-loader';\nimport 'source-map-loader';\n\nimport {WebpackLoader} from '@src/webpack/models';\n/* eslint-enable import/no-unassigned-import */\n\nexport function sourceMapLoader(): WebpackLoader {\n return {\n test: /\\.js$/u,\n use: ['source-map-loader'],\n enforce: 'pre',\n };\n}\n","import {Configuration} from 'webpack';\n\nimport {nodeConfig} from '@src/webpack/common-configs/node_config';\n\nexport function config(opts: {context: string; watch: boolean}): Configuration {\n return nodeConfig({...opts, isLib: false});\n}\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","__WEBPACK_EXTERNAL_createRequire","url","ansiRegex","RegExp","join","error","console","log","globalError","val","data","str","Error","stack","String","JSON","stringify","appendFileSync","called","callbacks","runCallbacks","fn","Promise","resolve","catch","err","process","on","StandalonePlugin","context","cwd","apply","compiler","cb","this","hooks","beforeRun","tapPromise","name","async","setupHandler","watchRun","shutdown","exitHandlerAsync","exitHandler","push","hasStarted","setup","hasExited","teardown","EslintWebpackError","WebpackError","constructor","eslintRunId","message","filePath","loc","ruleId","super","undefined","file","EslintPlugin","fileStates","Map","shouldRun","runEslintInterval","setInterval","runEslint","projectPath","workspacePath","workspaceDirs","readdirSync","withFileTypes","filter","e","isDirectory","existsSync","map","patterns","flatMap","pattern","dir","watcher","watch","path","startsWith","set","status","delete","compilation","tap","comp","syncErrorsAndWarnings","afterCompile","tapAsync","setTimeout","awaitIdle","finally","filesQueued","entries","length","Math","random","handleError","currentState","tsConfigPath","ESLint","overrideConfig","settings","typescript","project","languageOptions","parserOptions","lintFiles","then","results","result","messages","checkIdle","eslintError","fileState","values","errors","w","warnings","sort","e1","e2","localeCompare","msg","replace","start","line","column","end","endLine","endColumn","resolveAwaitIdlePromise","state","clearInterval","close","forkTsCheckerPlugin","ForkTsCheckerWebpackPlugin","diagnosticOptions","syntactic","semantic","declaration","global","mode","configFile","formatter","logger","YarnPlugin","command","exec","stdout","stderr","split","l","trim","MIN_NODE_VERSION","access","readFile","readFileInternal","readdir","stat","promises","writeFile","mkdir","rm","packageJsonCache","findPackageJson","p","has","includes","fileContent","json","parse","toString","res","DependencyPackerPlugin","opts","depMap","resolverFactory","resolver","for","descriptionFileRoot","descriptionFileData","version","clear","done","dependencies","fromEntries","extraProps","packageJsonProperties","entryPoints","stats","options","entry","firstEntryPoint","entryPoint","import","at","entryPackageJson","outputDirectory","output","type","main","disableYarnRun","reject","yarnInstall","dependencyPackerPlugin","nodeConfig","isLib","noEntry","base","devtool","plugins","webpack","infrastructureLogging","level","optimization","minimize","minimizer","TerserWebpackPlugin","terserOptions","format","comments","extractComments","concatenateModules","sideEffects","experiments","backCompat","baseConfig","target","index","filename","clean","keep","fileName","chunkFormat","library","rules","test","exclude","loader","presets","targets","node","use","enforce","parser","javascript","importMeta","extensions","modules","alias","externals","ctx","request","contextInfo","getResolve","packageJson","issuer","outputModule","config"],"sourceRoot":""}
{
"name": "@matthis/webpack-node-script",
"version": "1.8.4",
"version": "1.8.5",
"type": "module",

@@ -5,0 +5,0 @@ "main": "index.js",