UNPKG

33.1 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../../src/react/experimental-server-rendering/rendering.js"],"names":["renderValueWithHelper","realm","value","helper","val","AbstractValue","createFromBuildFunction","Value","dangerousStyleValue","name","isCustomProperty","isEmpty","intrinsics","null","undefined","BooleanValue","StringValue","NumberValue","isUnitlessNumber","hasOwnProperty","trim","createMarkupForCustomAttribute","createMarkupForProperty","htmlEscapeHelper","propertyInfo","attributeName","type","BOOLEAN","OVERLOADED_BOOLEAN","createMarkupForStyles","styles","serialized","delimiter","ObjectValue","isPartialObject","styleName","binding","properties","descriptor","indexOf","styleValue","push","length","renderReactNode","createOpenTagMarkup","tagVerbatim","tagLowercase","propsValue","namespace","makeStaticMarkup","isRootElement","ret","propName","propValue","STYLE","markup","RESERVED_PROPS","has","Array","isArray","reactNode","normalizedNode","args","quasis","lastWasAbstract","element","t","templateElement","raw","cooked","ReactDOMServerRenderer","constructor","previousWasTextNode","arrayHelper","render","depth","rootReactNode","_renderValue","_renderText","text","_renderAbstractConditionalValue","condValue","consequentVal","alternateVal","evaluateWithAbstractConditional","evaluateForEffects","_renderAbstractValue","kind","_renderArrayValue","ArrayValue","isIntrinsicAndHasWidenedNumericProperty","arrayHint","react","arrayHints","get","elements","elementValue","renderedElement","_renderReactElement","reactElement","typeValue","AbstractObjectValue","tag","toLowerCase","out","footer","omittedCloseTags","innerMarkup","newlineEatingTags","charAt","childrenValue","childrenOut","SymbolValue","UndefinedValue","NullValue","handleNestedOptimizedFunctions","reconciler","staticMarkup","nestedOptimizedClosures","func","evaluatedNode","componentType","context","hasEvaluatedNestedClosure","ECMAScriptSourceFunctionValue","hasEvaluatedRootNode","closureEffects","resolveNestedOptimizedClosure","closureEffectsRenderedToString","evaluateForEffectsWithPriorEffects","serverRenderer","result","SimpleNormalCompletion","optimizedNestedClosuresToWrite","effects","renderToString","reactStatistics","ReactStatistics","Reconciler","firstRenderOnly","isRoot","modelString","evaluatedRootNode","To","ToObject","resolveReactComponentTree","generator","emitStatement","applyEffects","renderValue"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n/* @flow */\n\n// Warning: This code is experimental and might not fully work. There is no guarantee\n// that it is up-to-date with the current react-dom/server logic and there may also be\n// security holes in the string escaping because of this.\n\nimport type { Realm } from \"../../realm.js\";\nimport { ReactStatistics } from \"../../serializer/types.js\";\nimport { SimpleNormalCompletion } from \"../../completions.js\";\nimport {\n AbstractObjectValue,\n AbstractValue,\n ArrayValue,\n BooleanValue,\n ECMAScriptSourceFunctionValue,\n NullValue,\n NumberValue,\n ObjectValue,\n StringValue,\n SymbolValue,\n Value,\n UndefinedValue,\n} from \"../../values/index.js\";\nimport { Reconciler } from \"../reconcilation.js\";\nimport {\n createReactEvaluatedNode,\n forEachArrayValue,\n getComponentName,\n getProperty,\n getReactSymbol,\n isReactElement,\n} from \"../utils.js\";\nimport * as t from \"@babel/types\";\nimport invariant from \"../../invariant.js\";\nimport {\n convertValueToNode,\n createArrayHelper,\n createHtmlEscapeHelper,\n createMarkupForRoot,\n escapeHtml,\n getNonChildrenInnerMarkup,\n quoteAttributeValueForBrowser,\n isCustomComponent,\n normalizeNode,\n} from \"./utils.js\";\nimport {\n BOOLEAN,\n getPropertyInfo,\n isAttributeNameSafe,\n isUnitlessNumber,\n newlineEatingTags,\n omittedCloseTags,\n OVERLOADED_BOOLEAN,\n RESERVED_PROPS,\n shouldIgnoreAttribute,\n shouldRemoveAttribute,\n STYLE,\n} from \"./dom-config.js\";\n// $FlowFixMe: flow complains that this isn't a module but it is, and it seems to load fine\nimport hyphenateStyleName from \"fbjs/lib/hyphenateStyleName\";\nimport { To } from \"../../singletons.js\";\nimport { createOperationDescriptor } from \"../../utils/generator.js\";\n\nexport type ReactNode = Array<ReactNode> | string | AbstractValue | ArrayValue;\n\nfunction renderValueWithHelper(realm: Realm, value: Value, helper: ECMAScriptSourceFunctionValue): AbstractValue {\n // given we know nothing of this value, we need to escape the contents of it at runtime\n let val = AbstractValue.createFromBuildFunction(\n realm,\n Value,\n [helper, value],\n createOperationDescriptor(\"REACT_SSR_RENDER_VALUE_HELPER\")\n );\n invariant(val instanceof AbstractValue);\n return val;\n}\n\nfunction dangerousStyleValue(realm: Realm, name: string, value: Value, isCustomProperty: boolean): string {\n let isEmpty =\n value === realm.intrinsics.null ||\n value === realm.intrinsics.undefined ||\n value instanceof BooleanValue ||\n (value instanceof StringValue && value.value === \"\");\n if (isEmpty) {\n return \"\";\n }\n\n if (\n !isCustomProperty &&\n value instanceof NumberValue &&\n value.value !== 0 &&\n !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])\n ) {\n return value.value + \"px\";\n }\n\n if (value instanceof StringValue || value instanceof NumberValue) {\n return (\"\" + value.value).trim();\n } else {\n invariant(false, \"TODO\");\n }\n}\n\nexport function createMarkupForCustomAttribute(realm: Realm, name: string, value: Value): ReactNode {\n if (!isAttributeNameSafe(name) || value == null) {\n return \"\";\n }\n if (value instanceof StringValue || value instanceof NumberValue) {\n return name + \"=\" + quoteAttributeValueForBrowser(value.value + \"\");\n } else {\n invariant(false, \"TODO\");\n }\n}\n\nfunction createMarkupForProperty(\n realm: Realm,\n name: string,\n value: Value,\n htmlEscapeHelper: ECMAScriptSourceFunctionValue\n): ReactNode {\n const propertyInfo = getPropertyInfo(name);\n if (name !== \"style\" && shouldIgnoreAttribute(name, propertyInfo, false)) {\n return \"\";\n }\n if (shouldRemoveAttribute(realm, name, value, propertyInfo, false)) {\n return \"\";\n }\n if (propertyInfo !== null) {\n const attributeName = propertyInfo.attributeName;\n const { type } = propertyInfo;\n if (type === BOOLEAN || (type === OVERLOADED_BOOLEAN && value === true)) {\n return attributeName + '=\"\"';\n } else if (value instanceof StringValue || value instanceof NumberValue) {\n return attributeName + \"=\" + quoteAttributeValueForBrowser(value.value + \"\");\n } else if (value instanceof AbstractValue) {\n return ([attributeName + \"=\", renderValueWithHelper(realm, value, htmlEscapeHelper)]: Array<ReactNode>);\n }\n } else if (value instanceof StringValue || value instanceof NumberValue) {\n return name + \"=\" + quoteAttributeValueForBrowser(value.value + \"\");\n } else if (value instanceof AbstractValue) {\n return ([name + '=\"', renderValueWithHelper(realm, value, htmlEscapeHelper), '\"']: Array<ReactNode>);\n }\n invariant(false, \"TODO\");\n}\n\nfunction createMarkupForStyles(realm: Realm, styles: Value): Value {\n let serialized = ([]: Array<ReactNode>);\n let delimiter = \"\";\n\n if (styles instanceof ObjectValue && !styles.isPartialObject()) {\n for (let [styleName, binding] of styles.properties) {\n if (binding.descriptor !== undefined) {\n let isCustomProperty = styleName.indexOf(\"--\") === 0;\n let styleValue = getProperty(realm, styles, styleName);\n\n if (styleValue !== realm.intrinsics.null && styleValue !== realm.intrinsics.undefined) {\n serialized.push(delimiter + hyphenateStyleName(styleName) + \":\");\n serialized.push(dangerousStyleValue(realm, styleName, styleValue, isCustomProperty));\n delimiter = \";\";\n }\n }\n }\n }\n if (serialized.length > 0) {\n return renderReactNode(realm, serialized);\n }\n return realm.intrinsics.null;\n}\n\nfunction createOpenTagMarkup(\n realm: Realm,\n tagVerbatim: string,\n tagLowercase: string,\n propsValue: ObjectValue | AbstractObjectValue,\n namespace: string,\n makeStaticMarkup: boolean,\n isRootElement: boolean,\n htmlEscapeHelper: ECMAScriptSourceFunctionValue\n): Array<ReactNode> {\n let ret = [\"<\" + tagVerbatim];\n\n if (propsValue instanceof ObjectValue && !propsValue.isPartialObject()) {\n for (let [propName, binding] of propsValue.properties) {\n if (binding.descriptor !== undefined) {\n let propValue = getProperty(realm, propsValue, propName);\n if (propValue === realm.intrinsics.null || propValue === realm.intrinsics.undefined) {\n continue;\n }\n if (propName === STYLE) {\n propValue = createMarkupForStyles(realm, propValue);\n }\n let markup;\n\n if (isCustomComponent(realm, tagLowercase, propsValue)) {\n if (!RESERVED_PROPS.has(propName)) {\n markup = createMarkupForCustomAttribute(realm, propName, propValue);\n }\n } else {\n markup = createMarkupForProperty(realm, propName, propValue, htmlEscapeHelper);\n }\n if (Array.isArray(markup)) {\n ret.push(\" \", ...markup);\n } else if (typeof markup === \"string\" && markup !== \"\") {\n ret.push(\" \" + markup);\n } else if (markup) {\n ret.push(\" \", markup);\n }\n }\n }\n } else {\n invariant(false, \"TODO\");\n }\n\n // For static pages, no need to put React ID and checksum. Saves lots of\n // bytes.\n if (makeStaticMarkup) {\n return ret;\n }\n\n if (isRootElement) {\n ret.push(\" \" + createMarkupForRoot());\n }\n return ret;\n}\n\nfunction renderReactNode(realm: Realm, reactNode: ReactNode): StringValue | AbstractValue {\n let normalizedNode = normalizeNode(realm, reactNode);\n if (typeof normalizedNode === \"string\") {\n return new StringValue(realm, normalizedNode);\n } else if (normalizedNode instanceof AbstractValue) {\n return normalizedNode;\n }\n invariant(Array.isArray(normalizedNode));\n let args = [];\n let quasis = [];\n let lastWasAbstract = false;\n for (let element of normalizedNode) {\n if (typeof element === \"string\") {\n lastWasAbstract = false;\n quasis.push(t.templateElement({ raw: element, cooked: element }));\n } else {\n if (lastWasAbstract) {\n quasis.push(t.templateElement({ raw: \"\", cooked: \"\" }));\n }\n lastWasAbstract = true;\n invariant(element instanceof Value);\n args.push(element);\n }\n }\n let val = AbstractValue.createFromBuildFunction(\n realm,\n StringValue,\n args,\n createOperationDescriptor(\"REACT_SSR_TEMPLATE_LITERAL\", { quasis })\n );\n invariant(val instanceof AbstractValue);\n return val;\n}\n\nclass ReactDOMServerRenderer {\n constructor(realm: Realm, makeStaticMarkup: boolean) {\n this.realm = realm;\n this.makeStaticMarkup = makeStaticMarkup;\n this.previousWasTextNode = false;\n this.htmlEscapeHelper = createHtmlEscapeHelper(realm);\n this.arrayHelper = createArrayHelper(realm);\n }\n realm: Realm;\n makeStaticMarkup: boolean;\n previousWasTextNode: boolean;\n htmlEscapeHelper: ECMAScriptSourceFunctionValue;\n arrayHelper: ECMAScriptSourceFunctionValue;\n\n render(value: Value, namespace: string = \"html\", depth: number = 0): StringValue | AbstractValue {\n let rootReactNode = this._renderValue(value, namespace, depth);\n return renderReactNode(this.realm, rootReactNode);\n }\n\n _renderText(value: StringValue | NumberValue): string {\n let text = value.value + \"\";\n\n if (text === \"\") {\n return \"\";\n }\n if (this.makeStaticMarkup) {\n return escapeHtml(text);\n }\n if (this.previousWasTextNode) {\n return \"<!-- -->\" + escapeHtml(text);\n }\n this.previousWasTextNode = true;\n return escapeHtml(text);\n }\n\n _renderAbstractConditionalValue(\n condValue: AbstractValue,\n consequentVal: Value,\n alternateVal: Value,\n namespace: string,\n depth: number\n ): ReactNode {\n let val = this.realm.evaluateWithAbstractConditional(\n condValue,\n () => {\n return this.realm.evaluateForEffects(\n () => this.render(consequentVal, namespace, depth),\n null,\n \"_renderAbstractConditionalValue consequent\"\n );\n },\n () => {\n return this.realm.evaluateForEffects(\n () => this.render(alternateVal, namespace, depth),\n null,\n \"_renderAbstractConditionalValue consequent\"\n );\n }\n );\n return convertValueToNode(val);\n }\n\n _renderAbstractValue(value: AbstractValue, namespace: string, depth: number): ReactNode {\n if (value.kind === \"conditional\") {\n let [condValue, consequentVal, alternateVal] = value.args;\n invariant(condValue instanceof AbstractValue);\n return this._renderAbstractConditionalValue(condValue, consequentVal, alternateVal, namespace, depth);\n } else {\n return renderValueWithHelper(this.realm, value, this.htmlEscapeHelper);\n }\n }\n\n _renderArrayValue(value: ArrayValue, namespace: string, depth: number): Array<ReactNode> | ReactNode {\n if (ArrayValue.isIntrinsicAndHasWidenedNumericProperty(value)) {\n let arrayHint = this.realm.react.arrayHints.get(value);\n\n if (arrayHint !== undefined) {\n return renderValueWithHelper(this.realm, value, this.arrayHelper);\n }\n }\n let elements = [];\n forEachArrayValue(this.realm, value, elementValue => {\n let renderedElement = this._renderValue(elementValue, namespace, depth);\n if (Array.isArray(renderedElement)) {\n elements.push(...renderedElement);\n } else {\n elements.push(renderedElement);\n }\n });\n // $FlowFixMe: flow gets confused here\n return elements;\n }\n\n _renderReactElement(reactElement: ObjectValue, namespace: string, depth: number): Array<ReactNode> {\n let typeValue = getProperty(this.realm, reactElement, \"type\");\n let propsValue = getProperty(this.realm, reactElement, \"props\");\n\n invariant(propsValue instanceof AbstractObjectValue || propsValue instanceof ObjectValue);\n if (typeValue instanceof StringValue) {\n let type = typeValue.value;\n let tag = type.toLowerCase();\n\n if (tag === \"input\") {\n invariant(false, \"TODO\");\n } else if (tag === \"textarea\") {\n invariant(false, \"TODO\");\n } else if (tag === \"select\") {\n invariant(false, \"TODO\");\n } else if (tag === \"option\") {\n invariant(false, \"TODO\");\n }\n let out = createOpenTagMarkup(\n this.realm,\n type,\n tag,\n propsValue,\n namespace,\n this.makeStaticMarkup,\n depth === 0,\n this.htmlEscapeHelper\n );\n let footer = \"\";\n\n if (omittedCloseTags.has(tag)) {\n out.push(\"/>\");\n } else {\n out.push(\">\");\n footer = \"</\" + type + \">\";\n }\n let innerMarkup = getNonChildrenInnerMarkup(this.realm, propsValue);\n if (innerMarkup instanceof StringValue) {\n if (newlineEatingTags[tag] && innerMarkup.value.charAt(0) === \"\\n\") {\n out.push(\"\\n\");\n }\n out.push(innerMarkup.value);\n } else if (innerMarkup instanceof ObjectValue) {\n invariant(false, \"TODO\");\n } else {\n this.previousWasTextNode = false;\n let childrenValue = getProperty(this.realm, propsValue, \"children\");\n let childrenOut = this._renderValue(childrenValue, namespace, depth + 1);\n\n if (Array.isArray(childrenOut)) {\n out.push(...childrenOut);\n } else {\n out.push(childrenOut);\n }\n }\n out.push(footer);\n this.previousWasTextNode = false;\n return out;\n } else if (typeValue instanceof SymbolValue && typeValue === getReactSymbol(\"react.fragment\", this.realm)) {\n let childrenValue = getProperty(this.realm, propsValue, \"children\");\n let childrenOut = this._renderValue(childrenValue, namespace, depth + 1);\n let out = [];\n\n if (Array.isArray(childrenOut)) {\n out.push(...childrenOut);\n } else {\n out.push(childrenOut);\n }\n this.previousWasTextNode = false;\n return out;\n } else {\n invariant(false, \"TODO\");\n }\n }\n\n _renderValue(value: Value, namespace: string, depth: number): ReactNode {\n if (value instanceof StringValue || value instanceof NumberValue) {\n return this._renderText(value);\n } else if (value instanceof ObjectValue && isReactElement(value)) {\n return this._renderReactElement(value, namespace, depth);\n } else if (value instanceof AbstractValue) {\n return this._renderAbstractValue(value, namespace, depth);\n } else if (value instanceof ArrayValue) {\n return this._renderArrayValue(value, namespace, depth);\n } else if (value instanceof BooleanValue || value instanceof UndefinedValue || value instanceof NullValue) {\n return \"\";\n }\n invariant(false, \"TODO\");\n }\n}\n\nfunction handleNestedOptimizedFunctions(realm: Realm, reconciler: Reconciler, staticMarkup: boolean): void {\n for (let { func, evaluatedNode, componentType, context } of reconciler.nestedOptimizedClosures) {\n if (reconciler.hasEvaluatedNestedClosure(func)) {\n continue;\n }\n if (func instanceof ECMAScriptSourceFunctionValue && reconciler.hasEvaluatedRootNode(func, evaluatedNode)) {\n continue;\n }\n let closureEffects = reconciler.resolveNestedOptimizedClosure(func, [], componentType, context, evaluatedNode);\n\n let closureEffectsRenderedToString = realm.evaluateForEffectsWithPriorEffects(\n [closureEffects],\n () => {\n let serverRenderer = new ReactDOMServerRenderer(realm, staticMarkup);\n invariant(closureEffects.result instanceof SimpleNormalCompletion);\n return serverRenderer.render(closureEffects.result.value);\n },\n \"handleNestedOptimizedFunctions\"\n );\n\n realm.react.optimizedNestedClosuresToWrite.push({\n effects: closureEffectsRenderedToString,\n func,\n });\n }\n}\n\nexport function renderToString(\n realm: Realm,\n reactElement: ObjectValue,\n staticMarkup: boolean\n): StringValue | AbstractValue {\n let reactStatistics = new ReactStatistics();\n let reconciler = new Reconciler(\n realm,\n { firstRenderOnly: true, isRoot: true, modelString: undefined },\n reactStatistics\n );\n let typeValue = getProperty(realm, reactElement, \"type\");\n let propsValue = getProperty(realm, reactElement, \"props\");\n let evaluatedRootNode = createReactEvaluatedNode(\"ROOT\", getComponentName(realm, typeValue));\n invariant(typeValue instanceof ECMAScriptSourceFunctionValue);\n if (propsValue instanceof AbstractValue && !(propsValue instanceof AbstractObjectValue)) {\n propsValue = To.ToObject(realm, propsValue);\n }\n invariant(propsValue instanceof ObjectValue || propsValue instanceof AbstractObjectValue);\n let effects = reconciler.resolveReactComponentTree(typeValue, propsValue, null, evaluatedRootNode);\n\n invariant(realm.generator);\n // create a single regex used for the escape functions\n // by hoisting it, it gets cached by the VM JITs\n realm.generator.emitStatement([], createOperationDescriptor(\"REACT_SSR_REGEX_CONSTANT\"));\n invariant(realm.generator);\n realm.generator.emitStatement([], createOperationDescriptor(\"REACT_SSR_PREV_TEXT_NODE\"));\n invariant(effects);\n realm.applyEffects(effects);\n invariant(effects.result instanceof SimpleNormalCompletion);\n let serverRenderer = new ReactDOMServerRenderer(realm, staticMarkup);\n let renderValue = serverRenderer.render(effects.result.value);\n handleNestedOptimizedFunctions(realm, reconciler, staticMarkup);\n return renderValue;\n}\n"],"file":"rendering.js"}
\No newline at end of file