/opt/canhelp/node_modules/sucrase/dist/esm/transformers
NameSizeModeActions
CJSImportTransformer.js314700644editdlrm
ESMImportTransformer.js145640644editdlrm
FlowTransformer.js60720644editdlrm
JestHoistTransformer.js51550644editdlrm
JSXTransformer.js256320644editdlrm
NumericSeparatorTransformer.js4920644editdlrm
OptionalCatchBindingTransformer.js5110644editdlrm
OptionalChainingNullishTransformer.js60160644editdlrm
ReactDisplayNameTransformer.js53700644editdlrm
ReactHotLoaderTransformer.js18910644editdlrm
RootTransformer.js156310644editdlrm
Transformer.js2230644editdlrm
TypeScriptTransformer.js99960644editdlrm
Edit: /opt/canhelp/node_modules/sucrase/dist/esm/transformers/ReactHotLoaderTransformer.js (1891B)
import {IdentifierRole, isTopLevelDeclaration} from "../parser/tokenizer"; import Transformer from "./Transformer"; export default class ReactHotLoaderTransformer extends Transformer { __init() {this.extractedDefaultExportName = null} constructor( tokens, filePath) { super();this.tokens = tokens;this.filePath = filePath;ReactHotLoaderTransformer.prototype.__init.call(this);; } setExtractedDefaultExportName(extractedDefaultExportName) { this.extractedDefaultExportName = extractedDefaultExportName; } getPrefixCode() { return ` (function () { var enterModule = require('react-hot-loader').enterModule; enterModule && enterModule(module); })();` .replace(/\s+/g, " ") .trim(); } getSuffixCode() { const topLevelNames = new Set(); for (const token of this.tokens.tokens) { if ( !token.isType && isTopLevelDeclaration(token) && token.identifierRole !== IdentifierRole.ImportDeclaration ) { topLevelNames.add(this.tokens.identifierNameForToken(token)); } } const namesToRegister = Array.from(topLevelNames).map((name) => ({ variableName: name, uniqueLocalName: name, })); if (this.extractedDefaultExportName) { namesToRegister.push({ variableName: this.extractedDefaultExportName, uniqueLocalName: "default", }); } return ` ;(function () { var reactHotLoader = require('react-hot-loader').default; var leaveModule = require('react-hot-loader').leaveModule; if (!reactHotLoader) { return; } ${namesToRegister .map( ({variableName, uniqueLocalName}) => ` reactHotLoader.register(${variableName}, "${uniqueLocalName}", ${JSON.stringify( this.filePath || "", )});`, ) .join("\n")} leaveModule(module); })();`; } process() { return false; } }