mirror of
https://github.com/idanoo/GoScrobble
synced 2025-07-01 21:52:19 +00:00
0.2.0 - Mid migration
This commit is contained in:
parent
139e6a915e
commit
7e38fdbd7d
42393 changed files with 5358157 additions and 62 deletions
87
web/node_modules/@pmmmwh/react-refresh-webpack-plugin/loader/RefreshModule.runtime.js
generated
vendored
Normal file
87
web/node_modules/@pmmmwh/react-refresh-webpack-plugin/loader/RefreshModule.runtime.js
generated
vendored
Normal file
|
@ -0,0 +1,87 @@
|
|||
/* global __react_refresh_error_overlay__, __react_refresh_test__, __react_refresh_utils__, __webpack_require__ */
|
||||
|
||||
/**
|
||||
* 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`.
|
||||
*
|
||||
* The function declaration syntax below is needed for `Template.getFunctionContent` to parse this.
|
||||
*
|
||||
* [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)
|
||||
*/
|
||||
module.exports = function () {
|
||||
const currentExports = __react_refresh_utils__.getModuleExports(module.id);
|
||||
__react_refresh_utils__.registerExportsForReactRefresh(currentExports, module.id);
|
||||
|
||||
if (module.hot) {
|
||||
const isHotUpdate = !!module.hot.data;
|
||||
const prevExports = isHotUpdate ? module.hot.data.prevExports : null;
|
||||
|
||||
if (__react_refresh_utils__.isReactRefreshBoundary(currentExports)) {
|
||||
module.hot.dispose(
|
||||
/**
|
||||
* A callback to performs a full refresh if React has unrecoverable errors,
|
||||
* and also caches the to-be-disposed module.
|
||||
* @param {*} data A hot module data object from Webpack HMR.
|
||||
* @returns {void}
|
||||
*/
|
||||
function hotDisposeCallback(data) {
|
||||
// We have to mutate the data object to get data registered and cached
|
||||
data.prevExports = currentExports;
|
||||
}
|
||||
);
|
||||
module.hot.accept(
|
||||
/**
|
||||
* An error handler to allow self-recovering behaviours.
|
||||
* @param {Error} error An error occurred during evaluation of a module.
|
||||
* @returns {void}
|
||||
*/
|
||||
function hotErrorHandler(error) {
|
||||
if (
|
||||
typeof __react_refresh_error_overlay__ !== 'undefined' &&
|
||||
__react_refresh_error_overlay__
|
||||
) {
|
||||
__react_refresh_error_overlay__.handleRuntimeError(error);
|
||||
}
|
||||
|
||||
if (typeof __react_refresh_test__ !== 'undefined' && __react_refresh_test__) {
|
||||
if (window.onHotAcceptError) {
|
||||
window.onHotAcceptError(error.message);
|
||||
}
|
||||
}
|
||||
|
||||
__webpack_require__.c[module.id].hot.accept(hotErrorHandler);
|
||||
}
|
||||
);
|
||||
|
||||
if (isHotUpdate) {
|
||||
if (
|
||||
__react_refresh_utils__.isReactRefreshBoundary(prevExports) &&
|
||||
__react_refresh_utils__.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)
|
||||
) {
|
||||
module.hot.invalidate();
|
||||
} else {
|
||||
__react_refresh_utils__.enqueueUpdate(
|
||||
/**
|
||||
* A function to dismiss the error overlay after performing React refresh.
|
||||
* @returns {void}
|
||||
*/
|
||||
function updateCallback() {
|
||||
if (
|
||||
typeof __react_refresh_error_overlay__ !== 'undefined' &&
|
||||
__react_refresh_error_overlay__
|
||||
) {
|
||||
__react_refresh_error_overlay__.clearRuntimeErrors();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (isHotUpdate && __react_refresh_utils__.isReactRefreshBoundary(prevExports)) {
|
||||
module.hot.invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
14
web/node_modules/@pmmmwh/react-refresh-webpack-plugin/loader/RefreshSetup.runtime.js
generated
vendored
Normal file
14
web/node_modules/@pmmmwh/react-refresh-webpack-plugin/loader/RefreshSetup.runtime.js
generated
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
/* eslint-disable no-global-assign, no-unused-vars */
|
||||
/* global $RefreshRuntime$, $RefreshSetup$ */
|
||||
|
||||
/**
|
||||
* Code prepended to each JS-like module to setup react-refresh globals.
|
||||
*
|
||||
* All globals are injected via Webpack parser hooks.
|
||||
*
|
||||
* The function declaration syntax below is needed for `Template.getFunctionContent` to parse this.
|
||||
*/
|
||||
module.exports = function () {
|
||||
$RefreshRuntime$ = require('$RefreshRuntimePath$');
|
||||
$RefreshSetup$(module.id);
|
||||
};
|
109
web/node_modules/@pmmmwh/react-refresh-webpack-plugin/loader/index.js
generated
vendored
Normal file
109
web/node_modules/@pmmmwh/react-refresh-webpack-plugin/loader/index.js
generated
vendored
Normal file
|
@ -0,0 +1,109 @@
|
|||
// This is a patch for mozilla/source-map#349 -
|
||||
// internally, it uses the existence of the `fetch` global to toggle browser behaviours.
|
||||
// That check, however, will break when `fetch` polyfills are used for SSR setups.
|
||||
// We "reset" the polyfill here to ensure it won't interfere with source-map generation.
|
||||
const originalFetch = global.fetch;
|
||||
delete global.fetch;
|
||||
|
||||
const { SourceMapConsumer, SourceMapGenerator, SourceNode } = require('source-map');
|
||||
const { Template } = require('webpack');
|
||||
|
||||
/**
|
||||
* Generates an identity source map from a source file.
|
||||
* @param {string} source The content of the source file.
|
||||
* @param {string} resourcePath The name of the source file.
|
||||
* @returns {import('source-map').RawSourceMap} The identity source map.
|
||||
*/
|
||||
function getIdentitySourceMap(source, resourcePath) {
|
||||
const sourceMap = new SourceMapGenerator();
|
||||
sourceMap.setSourceContent(resourcePath, source);
|
||||
|
||||
source.split('\n').forEach((line, index) => {
|
||||
sourceMap.addMapping({
|
||||
source: resourcePath,
|
||||
original: {
|
||||
line: index + 1,
|
||||
column: 0,
|
||||
},
|
||||
generated: {
|
||||
line: index + 1,
|
||||
column: 0,
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
return sourceMap.toJSON();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a runtime template from provided function.
|
||||
* @param {function(): void} fn A function containing the runtime template.
|
||||
* @returns {string} The "sanitized" runtime template.
|
||||
*/
|
||||
function getTemplate(fn) {
|
||||
return Template.getFunctionContent(fn).trim().replace(/^ {2}/gm, '');
|
||||
}
|
||||
|
||||
const RefreshSetupRuntime = getTemplate(require('./RefreshSetup.runtime')).replace(
|
||||
'$RefreshRuntimePath$',
|
||||
require.resolve('react-refresh/runtime').replace(/\\/g, '/')
|
||||
);
|
||||
const RefreshModuleRuntime = getTemplate(require('./RefreshModule.runtime'));
|
||||
|
||||
/**
|
||||
* A simple Webpack loader to inject react-refresh HMR code into modules.
|
||||
*
|
||||
* [Reference for Loader API](https://webpack.js.org/api/loaders/)
|
||||
* @this {import('webpack').loader.LoaderContext}
|
||||
* @param {string} source The original module source code.
|
||||
* @param {import('source-map').RawSourceMap} [inputSourceMap] The source map of the module.
|
||||
* @param {*} [meta] The loader metadata passed in.
|
||||
* @returns {void}
|
||||
*/
|
||||
function ReactRefreshLoader(source, inputSourceMap, meta) {
|
||||
const callback = this.async();
|
||||
|
||||
/**
|
||||
* @this {import('webpack').loader.LoaderContext}
|
||||
* @param {string} source
|
||||
* @param {import('source-map').RawSourceMap} [inputSourceMap]
|
||||
* @returns {Promise<[string, import('source-map').RawSourceMap]>}
|
||||
*/
|
||||
async function _loader(source, inputSourceMap) {
|
||||
if (this.sourceMap) {
|
||||
let originalSourceMap = inputSourceMap;
|
||||
if (!originalSourceMap) {
|
||||
originalSourceMap = getIdentitySourceMap(source, this.resourcePath);
|
||||
}
|
||||
|
||||
const node = SourceNode.fromStringWithSourceMap(
|
||||
source,
|
||||
await new SourceMapConsumer(originalSourceMap)
|
||||
);
|
||||
|
||||
node.prepend([RefreshSetupRuntime, '\n\n']);
|
||||
node.add(['\n\n', RefreshModuleRuntime]);
|
||||
|
||||
const { code, map } = node.toStringWithSourceMap();
|
||||
return [code, map.toJSON()];
|
||||
} else {
|
||||
return [[RefreshSetupRuntime, source, RefreshModuleRuntime].join('\n\n'), inputSourceMap];
|
||||
}
|
||||
}
|
||||
|
||||
_loader.call(this, source, inputSourceMap).then(
|
||||
([code, map]) => {
|
||||
callback(null, code, map, meta);
|
||||
},
|
||||
(error) => {
|
||||
callback(error);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
module.exports = ReactRefreshLoader;
|
||||
|
||||
// Restore the original value of the `fetch` global, if it exists
|
||||
if (originalFetch) {
|
||||
global.fetch = originalFetch;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue