Spaces:
Sleeping
Sleeping
pythonic-rag-FastAPIReact
/
frontend
/node_modules
/@pmmmwh
/react-refresh-webpack-plugin
/loader
/utils
/getRefreshModuleRuntime.js
| /** | |
| * @typedef ModuleRuntimeOptions {Object} | |
| * @property {boolean} const Use ES6 `const` and `let` in generated runtime code. | |
| * @property {'cjs' | 'esm'} moduleSystem The module system to be used. | |
| */ | |
| /** | |
| * Generates code appended to each JS-like module for react-refresh capabilities. | |
| * | |
| * `__react_refresh_utils__` will be replaced with actual utils during source parsing by `webpack.ProvidePlugin`. | |
| * | |
| * [Reference for Runtime Injection](https://github.com/webpack/webpack/blob/b07d3b67d2252f08e4bb65d354a11c9b69f8b434/lib/HotModuleReplacementPlugin.js#L419) | |
| * [Reference for HMR Error Recovery](https://github.com/webpack/webpack/issues/418#issuecomment-490296365) | |
| * | |
| * @param {import('webpack').Template} Webpack's templating helpers. | |
| * @param {ModuleRuntimeOptions} options The refresh module runtime options. | |
| * @returns {string} The refresh module runtime template. | |
| */ | |
| function getRefreshModuleRuntime(Template, options) { | |
| const constDeclaration = options.const ? 'const' : 'var'; | |
| const letDeclaration = options.const ? 'let' : 'var'; | |
| const webpackHot = options.moduleSystem === 'esm' ? 'import.meta.webpackHot' : 'module.hot'; | |
| return Template.asString([ | |
| `${constDeclaration} $ReactRefreshModuleId$ = __webpack_require__.$Refresh$.moduleId;`, | |
| `${constDeclaration} $ReactRefreshCurrentExports$ = __react_refresh_utils__.getModuleExports(`, | |
| Template.indent('$ReactRefreshModuleId$'), | |
| ');', | |
| '', | |
| 'function $ReactRefreshModuleRuntime$(exports) {', | |
| Template.indent([ | |
| `if (${webpackHot}) {`, | |
| Template.indent([ | |
| `${letDeclaration} errorOverlay;`, | |
| "if (typeof __react_refresh_error_overlay__ !== 'undefined') {", | |
| Template.indent('errorOverlay = __react_refresh_error_overlay__;'), | |
| '}', | |
| `${letDeclaration} testMode;`, | |
| "if (typeof __react_refresh_test__ !== 'undefined') {", | |
| Template.indent('testMode = __react_refresh_test__;'), | |
| '}', | |
| 'return __react_refresh_utils__.executeRuntime(', | |
| Template.indent([ | |
| 'exports,', | |
| '$ReactRefreshModuleId$,', | |
| `${webpackHot},`, | |
| 'errorOverlay,', | |
| 'testMode', | |
| ]), | |
| ');', | |
| ]), | |
| '}', | |
| ]), | |
| '}', | |
| '', | |
| "if (typeof Promise !== 'undefined' && $ReactRefreshCurrentExports$ instanceof Promise) {", | |
| Template.indent('$ReactRefreshCurrentExports$.then($ReactRefreshModuleRuntime$);'), | |
| '} else {', | |
| Template.indent('$ReactRefreshModuleRuntime$($ReactRefreshCurrentExports$);'), | |
| '}', | |
| ]); | |
| } | |
| module.exports = getRefreshModuleRuntime; | |