Buckets:
ktongue/docker_container / simsite /frontend /node_modules /react-refresh /cjs /react-refresh-babel.production.js
| /** | |
| * @license React | |
| * react-refresh-babel.production.js | |
| * | |
| * Copyright (c) Meta Platforms, Inc. and affiliates. | |
| * | |
| * This source code is licensed under the MIT license found in the | |
| * LICENSE file in the root directory of this source tree. | |
| */ | |
| ; | |
| module.exports = function (babel) { | |
| function createRegistration(programPath, persistentID) { | |
| var handle = programPath.scope.generateUidIdentifier("c"); | |
| registrationsByProgramPath.has(programPath) || | |
| registrationsByProgramPath.set(programPath, []); | |
| registrationsByProgramPath | |
| .get(programPath) | |
| .push({ handle: handle, persistentID: persistentID }); | |
| return handle; | |
| } | |
| function isComponentishName(name) { | |
| return "string" === typeof name && "A" <= name[0] && "Z" >= name[0]; | |
| } | |
| function findInnerComponents(inferredName, path, callback) { | |
| var node = path.node; | |
| switch (node.type) { | |
| case "Identifier": | |
| if (!isComponentishName(node.name)) break; | |
| callback(inferredName, node, null); | |
| return !0; | |
| case "FunctionDeclaration": | |
| return callback(inferredName, node.id, null), !0; | |
| case "ArrowFunctionExpression": | |
| if ("ArrowFunctionExpression" === node.body.type) break; | |
| callback(inferredName, node, path); | |
| return !0; | |
| case "FunctionExpression": | |
| return callback(inferredName, node, path), !0; | |
| case "CallExpression": | |
| var argsPath = path.get("arguments"); | |
| if (void 0 === argsPath || 0 === argsPath.length) break; | |
| var calleePath = path.get("callee"); | |
| switch (calleePath.node.type) { | |
| case "MemberExpression": | |
| case "Identifier": | |
| calleePath = calleePath.getSource(); | |
| if ( | |
| !findInnerComponents( | |
| inferredName + "$" + calleePath, | |
| argsPath[0], | |
| callback | |
| ) | |
| ) | |
| return !1; | |
| callback(inferredName, node, path); | |
| return !0; | |
| default: | |
| return !1; | |
| } | |
| case "VariableDeclarator": | |
| if ( | |
| ((argsPath = node.init), | |
| null !== argsPath && | |
| ((calleePath = node.id.name), isComponentishName(calleePath))) | |
| ) { | |
| switch (argsPath.type) { | |
| case "ArrowFunctionExpression": | |
| case "FunctionExpression": | |
| break; | |
| case "CallExpression": | |
| node = argsPath.callee; | |
| var calleeType = node.type; | |
| if ( | |
| "Import" === calleeType || | |
| ("Identifier" === calleeType && | |
| (0 === node.name.indexOf("require") || | |
| 0 === node.name.indexOf("import"))) | |
| ) | |
| return !1; | |
| break; | |
| case "TaggedTemplateExpression": | |
| break; | |
| default: | |
| return !1; | |
| } | |
| node = path.get("init"); | |
| if (findInnerComponents(inferredName, node, callback)) return !0; | |
| calleePath = path.scope.getBinding(calleePath); | |
| if (void 0 === calleePath) return; | |
| path = !1; | |
| calleePath = calleePath.referencePaths; | |
| for (calleeType = 0; calleeType < calleePath.length; calleeType++) { | |
| var ref = calleePath[calleeType]; | |
| if ( | |
| !ref.node || | |
| "JSXIdentifier" === ref.node.type || | |
| "Identifier" === ref.node.type | |
| ) { | |
| ref = ref.parent; | |
| if ("JSXOpeningElement" === ref.type) path = !0; | |
| else if ("CallExpression" === ref.type) { | |
| ref = ref.callee; | |
| var fnName = void 0; | |
| switch (ref.type) { | |
| case "Identifier": | |
| fnName = ref.name; | |
| break; | |
| case "MemberExpression": | |
| fnName = ref.property.name; | |
| } | |
| switch (fnName) { | |
| case "createElement": | |
| case "jsx": | |
| case "jsxDEV": | |
| case "jsxs": | |
| path = !0; | |
| } | |
| } | |
| if (path) return callback(inferredName, argsPath, node), !0; | |
| } | |
| } | |
| } | |
| } | |
| return !1; | |
| } | |
| function getHookCallsSignature(functionNode) { | |
| functionNode = hookCalls.get(functionNode); | |
| return void 0 === functionNode | |
| ? null | |
| : { | |
| key: functionNode | |
| .map(function (call) { | |
| return call.name + "{" + call.key + "}"; | |
| }) | |
| .join("\n"), | |
| customHooks: functionNode | |
| .filter(function (call) { | |
| a: switch (call.name) { | |
| case "useState": | |
| case "React.useState": | |
| case "useReducer": | |
| case "React.useReducer": | |
| case "useEffect": | |
| case "React.useEffect": | |
| case "useLayoutEffect": | |
| case "React.useLayoutEffect": | |
| case "useMemo": | |
| case "React.useMemo": | |
| case "useCallback": | |
| case "React.useCallback": | |
| case "useRef": | |
| case "React.useRef": | |
| case "useContext": | |
| case "React.useContext": | |
| case "useImperativeHandle": | |
| case "React.useImperativeHandle": | |
| case "useDebugValue": | |
| case "React.useDebugValue": | |
| case "useId": | |
| case "React.useId": | |
| case "useDeferredValue": | |
| case "React.useDeferredValue": | |
| case "useTransition": | |
| case "React.useTransition": | |
| case "useInsertionEffect": | |
| case "React.useInsertionEffect": | |
| case "useSyncExternalStore": | |
| case "React.useSyncExternalStore": | |
| case "useFormStatus": | |
| case "React.useFormStatus": | |
| case "useFormState": | |
| case "React.useFormState": | |
| case "useActionState": | |
| case "React.useActionState": | |
| case "useOptimistic": | |
| case "React.useOptimistic": | |
| call = !0; | |
| break a; | |
| default: | |
| call = !1; | |
| } | |
| return !call; | |
| }) | |
| .map(function (call) { | |
| return t.cloneDeep(call.callee); | |
| }) | |
| }; | |
| } | |
| function hasForceResetComment(path) { | |
| path = path.hub.file; | |
| var hasForceReset = hasForceResetCommentByFile.get(path); | |
| if (void 0 !== hasForceReset) return hasForceReset; | |
| hasForceReset = !1; | |
| for (var comments = path.ast.comments, i = 0; i < comments.length; i++) | |
| if (-1 !== comments[i].value.indexOf("@refresh reset")) { | |
| hasForceReset = !0; | |
| break; | |
| } | |
| hasForceResetCommentByFile.set(path, hasForceReset); | |
| return hasForceReset; | |
| } | |
| function createArgumentsForSignature(node, signature, scope) { | |
| var key = signature.key; | |
| signature = signature.customHooks; | |
| var forceReset = hasForceResetComment(scope.path), | |
| customHooksInScope = []; | |
| signature.forEach(function (callee) { | |
| switch (callee.type) { | |
| case "MemberExpression": | |
| if ("Identifier" === callee.object.type) | |
| var bindingName = callee.object.name; | |
| break; | |
| case "Identifier": | |
| bindingName = callee.name; | |
| } | |
| scope.hasBinding(bindingName) | |
| ? customHooksInScope.push(callee) | |
| : (forceReset = !0); | |
| }); | |
| signature = key; | |
| "function" !== typeof require || | |
| opts.emitFullSignatures || | |
| (signature = require("crypto") | |
| .createHash("sha1") | |
| .update(key) | |
| .digest("base64")); | |
| node = [node, t.stringLiteral(signature)]; | |
| (forceReset || 0 < customHooksInScope.length) && | |
| node.push(t.booleanLiteral(forceReset)); | |
| 0 < customHooksInScope.length && | |
| node.push( | |
| t.functionExpression( | |
| null, | |
| [], | |
| t.blockStatement([ | |
| t.returnStatement(t.arrayExpression(customHooksInScope)) | |
| ]) | |
| ) | |
| ); | |
| return node; | |
| } | |
| function findHOCCallPathsAbove(path) { | |
| for (var calls = []; ; ) { | |
| if (!path) return calls; | |
| var parentPath = path.parentPath; | |
| if (!parentPath) return calls; | |
| if ( | |
| "AssignmentExpression" === parentPath.node.type && | |
| path.node === parentPath.node.right | |
| ) | |
| path = parentPath; | |
| else if ( | |
| "CallExpression" === parentPath.node.type && | |
| path.node !== parentPath.node.callee | |
| ) | |
| calls.push(parentPath), (path = parentPath); | |
| else return calls; | |
| } | |
| } | |
| var opts = | |
| 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}; | |
| if ("function" === typeof babel.env) { | |
| var env = babel.env(); | |
| if ("development" !== env && !opts.skipEnvCheck) | |
| throw Error( | |
| 'React Refresh Babel transform should only be enabled in development environment. Instead, the environment is: "' + | |
| env + | |
| '". If you want to override this check, pass {skipEnvCheck: true} as plugin options.' | |
| ); | |
| } | |
| var t = babel.types, | |
| refreshReg = t.identifier(opts.refreshReg || "$RefreshReg$"), | |
| refreshSig = t.identifier(opts.refreshSig || "$RefreshSig$"), | |
| registrationsByProgramPath = new Map(), | |
| hasForceResetCommentByFile = new WeakMap(), | |
| seenForRegistration = new WeakSet(), | |
| seenForSignature = new WeakSet(), | |
| seenForOutro = new WeakSet(), | |
| hookCalls = new WeakMap(), | |
| HookCallsVisitor = { | |
| CallExpression: function (path) { | |
| var callee = path.node.callee, | |
| name = null; | |
| switch (callee.type) { | |
| case "Identifier": | |
| name = callee.name; | |
| break; | |
| case "MemberExpression": | |
| name = callee.property.name; | |
| } | |
| if ( | |
| null !== name && | |
| /^use[A-Z]/.test(name) && | |
| ((callee = path.scope.getFunctionParent()), null !== callee) | |
| ) { | |
| callee = callee.block; | |
| hookCalls.has(callee) || hookCalls.set(callee, []); | |
| callee = hookCalls.get(callee); | |
| var key = ""; | |
| "VariableDeclarator" === path.parent.type && | |
| (key = path.parentPath.get("id").getSource()); | |
| var args = path.get("arguments"); | |
| "useState" === name && 0 < args.length | |
| ? (key += "(" + args[0].getSource() + ")") | |
| : "useReducer" === name && | |
| 1 < args.length && | |
| (key += "(" + args[1].getSource() + ")"); | |
| callee.push({ callee: path.node.callee, name: name, key: key }); | |
| } | |
| } | |
| }; | |
| return { | |
| visitor: { | |
| ExportDefaultDeclaration: function (path) { | |
| var node = path.node, | |
| decl = node.declaration, | |
| declPath = path.get("declaration"); | |
| if ("CallExpression" === decl.type && !seenForRegistration.has(node)) { | |
| seenForRegistration.add(node); | |
| var programPath = path.parentPath; | |
| findInnerComponents( | |
| "%default%", | |
| declPath, | |
| function (persistentID, targetExpr, targetPath) { | |
| null !== targetPath && | |
| ((persistentID = createRegistration(programPath, persistentID)), | |
| targetPath.replaceWith( | |
| t.assignmentExpression("=", persistentID, targetExpr) | |
| )); | |
| } | |
| ); | |
| } | |
| }, | |
| FunctionDeclaration: { | |
| enter: function (path) { | |
| var node = path.node, | |
| modulePrefix = ""; | |
| switch (path.parent.type) { | |
| case "Program": | |
| var insertAfterPath = path; | |
| var programPath = path.parentPath; | |
| break; | |
| case "TSModuleBlock": | |
| insertAfterPath = path; | |
| programPath = insertAfterPath.parentPath.parentPath; | |
| break; | |
| case "ExportNamedDeclaration": | |
| insertAfterPath = path.parentPath; | |
| programPath = insertAfterPath.parentPath; | |
| break; | |
| case "ExportDefaultDeclaration": | |
| insertAfterPath = path.parentPath; | |
| programPath = insertAfterPath.parentPath; | |
| break; | |
| default: | |
| return; | |
| } | |
| if ( | |
| "TSModuleBlock" === path.parent.type || | |
| "ExportNamedDeclaration" === path.parent.type | |
| ) | |
| for (; "Program" !== programPath.type; ) { | |
| if ("TSModuleDeclaration" === programPath.type) { | |
| if ( | |
| "Program" !== programPath.parentPath.type && | |
| "ExportNamedDeclaration" !== programPath.parentPath.type | |
| ) | |
| return; | |
| modulePrefix = programPath.node.id.name + "$" + modulePrefix; | |
| } | |
| programPath = programPath.parentPath; | |
| } | |
| var id = node.id; | |
| null !== id && | |
| ((id = id.name), | |
| isComponentishName(id) && | |
| !seenForRegistration.has(node) && | |
| (seenForRegistration.add(node), | |
| findInnerComponents( | |
| modulePrefix + id, | |
| path, | |
| function (persistentID, targetExpr) { | |
| persistentID = createRegistration(programPath, persistentID); | |
| insertAfterPath.insertAfter( | |
| t.expressionStatement( | |
| t.assignmentExpression("=", persistentID, targetExpr) | |
| ) | |
| ); | |
| } | |
| ))); | |
| }, | |
| exit: function (path) { | |
| var node = path.node, | |
| id = node.id; | |
| if (null !== id) { | |
| var signature = getHookCallsSignature(node); | |
| if (null !== signature && !seenForSignature.has(node)) { | |
| seenForSignature.add(node); | |
| node = path.scope.generateUidIdentifier("_s"); | |
| path.scope.parent.push({ | |
| id: node, | |
| init: t.callExpression(refreshSig, []) | |
| }); | |
| path | |
| .get("body") | |
| .unshiftContainer( | |
| "body", | |
| t.expressionStatement(t.callExpression(node, [])) | |
| ); | |
| var insertAfterPath = null; | |
| path.find(function (p) { | |
| if (p.parentPath.isBlock()) return (insertAfterPath = p), !0; | |
| }); | |
| null !== insertAfterPath && | |
| insertAfterPath.insertAfter( | |
| t.expressionStatement( | |
| t.callExpression( | |
| node, | |
| createArgumentsForSignature( | |
| id, | |
| signature, | |
| insertAfterPath.scope | |
| ) | |
| ) | |
| ) | |
| ); | |
| } | |
| } | |
| } | |
| }, | |
| "ArrowFunctionExpression|FunctionExpression": { | |
| exit: function (path) { | |
| var node = path.node, | |
| signature = getHookCallsSignature(node); | |
| if (null !== signature && !seenForSignature.has(node)) { | |
| seenForSignature.add(node); | |
| var sigCallID = path.scope.generateUidIdentifier("_s"); | |
| path.scope.parent.push({ | |
| id: sigCallID, | |
| init: t.callExpression(refreshSig, []) | |
| }); | |
| "BlockStatement" !== path.node.body.type && | |
| (path.node.body = t.blockStatement([ | |
| t.returnStatement(path.node.body) | |
| ])); | |
| path | |
| .get("body") | |
| .unshiftContainer( | |
| "body", | |
| t.expressionStatement(t.callExpression(sigCallID, [])) | |
| ); | |
| if ("VariableDeclarator" === path.parent.type) { | |
| var insertAfterPath = null; | |
| path.find(function (p) { | |
| if (p.parentPath.isBlock()) return (insertAfterPath = p), !0; | |
| }); | |
| null !== insertAfterPath && | |
| insertAfterPath.insertAfter( | |
| t.expressionStatement( | |
| t.callExpression( | |
| sigCallID, | |
| createArgumentsForSignature( | |
| path.parent.id, | |
| signature, | |
| insertAfterPath.scope | |
| ) | |
| ) | |
| ) | |
| ); | |
| } else | |
| [path].concat(findHOCCallPathsAbove(path)).forEach(function (p) { | |
| p.replaceWith( | |
| t.callExpression( | |
| sigCallID, | |
| createArgumentsForSignature(p.node, signature, p.scope) | |
| ) | |
| ); | |
| }); | |
| } | |
| } | |
| }, | |
| VariableDeclaration: function (path) { | |
| var node = path.node, | |
| modulePrefix = ""; | |
| switch (path.parent.type) { | |
| case "Program": | |
| var insertAfterPath = path; | |
| var programPath = path.parentPath; | |
| break; | |
| case "TSModuleBlock": | |
| insertAfterPath = path; | |
| programPath = insertAfterPath.parentPath.parentPath; | |
| break; | |
| case "ExportNamedDeclaration": | |
| insertAfterPath = path.parentPath; | |
| programPath = insertAfterPath.parentPath; | |
| break; | |
| case "ExportDefaultDeclaration": | |
| insertAfterPath = path.parentPath; | |
| programPath = insertAfterPath.parentPath; | |
| break; | |
| default: | |
| return; | |
| } | |
| if ( | |
| "TSModuleBlock" === path.parent.type || | |
| "ExportNamedDeclaration" === path.parent.type | |
| ) | |
| for (; "Program" !== programPath.type; ) { | |
| if ("TSModuleDeclaration" === programPath.type) { | |
| if ( | |
| "Program" !== programPath.parentPath.type && | |
| "ExportNamedDeclaration" !== programPath.parentPath.type | |
| ) | |
| return; | |
| modulePrefix = programPath.node.id.name + "$" + modulePrefix; | |
| } | |
| programPath = programPath.parentPath; | |
| } | |
| if ( | |
| !seenForRegistration.has(node) && | |
| (seenForRegistration.add(node), | |
| (path = path.get("declarations")), | |
| 1 === path.length) | |
| ) { | |
| var declPath = path[0]; | |
| findInnerComponents( | |
| modulePrefix + declPath.node.id.name, | |
| declPath, | |
| function (persistentID, targetExpr, targetPath) { | |
| null !== targetPath && | |
| ((persistentID = createRegistration(programPath, persistentID)), | |
| "VariableDeclarator" === targetPath.parent.type | |
| ? insertAfterPath.insertAfter( | |
| t.expressionStatement( | |
| t.assignmentExpression( | |
| "=", | |
| persistentID, | |
| declPath.node.id | |
| ) | |
| ) | |
| ) | |
| : targetPath.replaceWith( | |
| t.assignmentExpression("=", persistentID, targetExpr) | |
| )); | |
| } | |
| ); | |
| } | |
| }, | |
| Program: { | |
| enter: function (path) { | |
| path.traverse(HookCallsVisitor); | |
| }, | |
| exit: function (path) { | |
| var registrations = registrationsByProgramPath.get(path); | |
| if (void 0 !== registrations) { | |
| var node = path.node; | |
| if (!seenForOutro.has(node)) { | |
| seenForOutro.add(node); | |
| registrationsByProgramPath.delete(path); | |
| var declarators = []; | |
| path.pushContainer( | |
| "body", | |
| t.variableDeclaration("var", declarators) | |
| ); | |
| registrations.forEach(function (_ref) { | |
| var handle = _ref.handle; | |
| path.pushContainer( | |
| "body", | |
| t.expressionStatement( | |
| t.callExpression(refreshReg, [ | |
| handle, | |
| t.stringLiteral(_ref.persistentID) | |
| ]) | |
| ) | |
| ); | |
| declarators.push(t.variableDeclarator(handle)); | |
| }); | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }; | |
| }; | |
Xet Storage Details
- Size:
- 20.6 kB
- Xet hash:
- 5be6505d0afcbe1dffee9c0e33e1a692f6639d39fa078506448b0ead083d8755
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.