mirror of
https://github.com/zebrajr/react.git
synced 2025-12-06 00:20:04 +01:00
[UMD] Remove umd builds (#28735)
In React 19 React will finally stop publishing UMD builds. This is motivated primarily by the lack of use of UMD format and the added complexity of maintaining build infra for these releases. Additionally with ESM becoming more prevalent in browsers and services like esm.sh which can host React as an ESM module there are other options for doing script tag based react loading. This PR removes all the UMD build configs and forks. There are some fixtures that still have references to UMD builds however many of them already do not work (for instance they are using legacy features like ReactDOM.render) and rather than block the removal on these fixtures being brought up to date we'll just move forward and fix or removes fixtures as necessary in the future.
This commit is contained in:
parent
0c245df1dc
commit
da6ba53b10
|
|
@ -545,7 +545,6 @@ module.exports = {
|
|||
__EXTENSION__: 'readonly',
|
||||
__PROFILE__: 'readonly',
|
||||
__TEST__: 'readonly',
|
||||
__UMD__: 'readonly',
|
||||
__VARIANT__: 'readonly',
|
||||
__unmockReact: 'readonly',
|
||||
gate: 'readonly',
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ of the React project. Then:
|
|||
```
|
||||
cd fixtures/dom
|
||||
yarn
|
||||
yarn start
|
||||
yarn dev
|
||||
```
|
||||
|
||||
The `start` command runs a script that copies over the local build of react into
|
||||
The `dev` command runs a script that copies over the local build of react into
|
||||
the public directory.
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
},
|
||||
"scripts": {
|
||||
"dev": "react-scripts start",
|
||||
"predev": "cp ../../build/oss-stable/scheduler/umd/scheduler-unstable_mock.development.js ../../build/oss-stable/scheduler/umd/scheduler-unstable_mock.production.min.js ../../build/oss-stable/react/umd/react.development.js ../../build/oss-stable/react-dom/umd/react-dom.development.js ../../build/oss-stable/react/umd/react.production.min.js ../../build/oss-stable/react-dom/umd/react-dom.production.min.js ../../build/oss-stable/react-dom/umd/react-dom-server.browser.development.js ../../build/oss-stable/react-dom/umd/react-dom-server.browser.production.min.js ../../build/oss-stable/react-dom/umd/react-dom-test-utils.development.js ../../build/oss-stable/react-dom/umd/react-dom-test-utils.production.min.js public/ && cp -a ../../build/oss-stable/. node_modules",
|
||||
"predev": "cp -a ../../build/oss-stable/. node_modules",
|
||||
"build": "react-scripts build && cp build/index.html build/200.html",
|
||||
"test": "react-scripts test --env=jsdom",
|
||||
"eject": "react-scripts eject"
|
||||
|
|
|
|||
|
|
@ -6,8 +6,16 @@ loadReact()
|
|||
.then(App => {
|
||||
const {React, ReactDOM} = window;
|
||||
|
||||
ReactDOM.render(
|
||||
React.createElement(App.default),
|
||||
document.getElementById('root')
|
||||
);
|
||||
if (typeof window.ReactDOMClient !== 'undefined') {
|
||||
// we are in a React that only supports modern roots
|
||||
|
||||
ReactDOM.createRoot(document.getElementById('root')).render(
|
||||
React.createElement(App.default)
|
||||
);
|
||||
} else {
|
||||
ReactDOM.render(
|
||||
React.createElement(App.default),
|
||||
document.getElementById('root')
|
||||
);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
83
fixtures/dom/src/react-loader.js
vendored
83
fixtures/dom/src/react-loader.js
vendored
|
|
@ -36,6 +36,33 @@ function loadScript(src) {
|
|||
});
|
||||
}
|
||||
|
||||
function loadModules(SymbolSrcPairs) {
|
||||
let firstScript = document.getElementsByTagName('script')[0];
|
||||
|
||||
let imports = '';
|
||||
SymbolSrcPairs.map(([symbol, src]) => {
|
||||
imports += `import ${symbol} from "${src}";\n`;
|
||||
imports += `window.${symbol} = ${symbol};\n`;
|
||||
});
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
const timeout = setTimeout(
|
||||
() => reject(new Error('Timed out loading react modules over esm')),
|
||||
5000
|
||||
);
|
||||
window.__loaded = () => {
|
||||
clearTimeout(timeout);
|
||||
resolve();
|
||||
};
|
||||
|
||||
const moduleScript = document.createElement('script');
|
||||
moduleScript.type = 'module';
|
||||
moduleScript.textContent = imports + 'window.__loaded();';
|
||||
|
||||
firstScript.parentNode.insertBefore(moduleScript, firstScript);
|
||||
});
|
||||
}
|
||||
|
||||
function getVersion() {
|
||||
let query = parseQuery(window.location.search);
|
||||
return query.version || 'local';
|
||||
|
|
@ -47,12 +74,15 @@ export function reactPaths(version = getVersion()) {
|
|||
let environment = isProduction ? 'production.min' : 'development';
|
||||
let reactPath = `react.${environment}.js`;
|
||||
let reactDOMPath = `react-dom.${environment}.js`;
|
||||
let reactDOMClientPath = `react-dom.${environment}.js`;
|
||||
let reactDOMServerPath = `react-dom-server.browser.${environment}.js`;
|
||||
let needsCreateElement = true;
|
||||
let needsReactDOM = true;
|
||||
let usingModules = false;
|
||||
|
||||
if (version !== 'local') {
|
||||
const {major, minor, prerelease} = semver(version);
|
||||
console.log('semver', semver(version));
|
||||
|
||||
if (major === 0) {
|
||||
needsCreateElement = minor >= 12;
|
||||
|
|
@ -62,7 +92,16 @@ export function reactPaths(version = getVersion()) {
|
|||
const [preReleaseStage] = prerelease;
|
||||
// The file structure was updated in 16. This wasn't the case for alphas.
|
||||
// Load the old module location for anything less than 16 RC
|
||||
if (major >= 16 && !(minor === 0 && preReleaseStage === 'alpha')) {
|
||||
if (major >= 19) {
|
||||
usingModules = true;
|
||||
const devQuery = environment === 'development' ? '?dev' : '';
|
||||
reactPath = 'https://esm.sh/react@' + version + '/' + devQuery;
|
||||
reactDOMPath = 'https://esm.sh/react-dom@' + version + '/' + devQuery;
|
||||
reactDOMClientPath =
|
||||
'https://esm.sh/react-dom@' + version + '/client' + devQuery;
|
||||
reactDOMServerPath =
|
||||
'https://esm.sh/react-dom@' + version + '/server.browser' + devQuery;
|
||||
} else if (major >= 16 && !(minor === 0 && preReleaseStage === 'alpha')) {
|
||||
reactPath =
|
||||
'https://unpkg.com/react@' +
|
||||
version +
|
||||
|
|
@ -90,30 +129,50 @@ export function reactPaths(version = getVersion()) {
|
|||
reactPath =
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/react/' + version + '/react.js';
|
||||
}
|
||||
} else {
|
||||
throw new Error(
|
||||
'This fixture no longer works with local versions. Provide a version query parameter that matches a version published to npm to use the fixture.'
|
||||
);
|
||||
}
|
||||
|
||||
return {
|
||||
reactPath,
|
||||
reactDOMPath,
|
||||
reactDOMClientPath,
|
||||
reactDOMServerPath,
|
||||
needsCreateElement,
|
||||
needsReactDOM,
|
||||
usingModules,
|
||||
};
|
||||
}
|
||||
|
||||
export default function loadReact() {
|
||||
const {reactPath, reactDOMPath, needsReactDOM} = reactPaths();
|
||||
console.log('reactPaths', reactPaths());
|
||||
const {
|
||||
reactPath,
|
||||
reactDOMPath,
|
||||
reactDOMClientPath,
|
||||
needsReactDOM,
|
||||
usingModules,
|
||||
} = reactPaths();
|
||||
|
||||
let request = loadScript(reactPath);
|
||||
|
||||
if (needsReactDOM) {
|
||||
request = request.then(() => loadScript(reactDOMPath));
|
||||
if (usingModules) {
|
||||
return loadModules([
|
||||
['React', reactPath],
|
||||
['ReactDOM', reactDOMPath],
|
||||
['ReactDOMClient', reactDOMClientPath],
|
||||
]);
|
||||
} else {
|
||||
// Aliasing React to ReactDOM for compatibility.
|
||||
request = request.then(() => {
|
||||
window.ReactDOM = window.React;
|
||||
});
|
||||
}
|
||||
let request = loadScript(reactPath, usingModules);
|
||||
|
||||
return request;
|
||||
if (needsReactDOM) {
|
||||
request = request.then(() => loadScript(reactDOMPath, usingModules));
|
||||
} else {
|
||||
// Aliasing React to ReactDOM for compatibility.
|
||||
request = request.then(() => {
|
||||
window.ReactDOM = window.React;
|
||||
});
|
||||
}
|
||||
return request;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,224 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html style="width: 100%; height: 100%; overflow: hidden">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Fiber Example</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Fiber Example</h1>
|
||||
<div id="container">
|
||||
<p>
|
||||
To install React, follow the instructions on
|
||||
<a href="https://github.com/facebook/react/">GitHub</a>.
|
||||
</p>
|
||||
<p>
|
||||
If you can see this, React is <strong>not</strong> working right.
|
||||
If you checked out the source from GitHub make sure to run <code>npm run build</code>.
|
||||
</p>
|
||||
</div>
|
||||
<script src="../../build/oss-experimental/react/umd/react.development.js"></script>
|
||||
<script src="../../build/oss-experimental/react-dom/umd/react-dom.development.js"></script>
|
||||
<script src="https://unpkg.com/babel-standalone@6/babel.js"></script>
|
||||
<script type="text/babel">
|
||||
var dotStyle = {
|
||||
position: 'absolute',
|
||||
background: '#61dafb',
|
||||
font: 'normal 15px sans-serif',
|
||||
textAlign: 'center',
|
||||
cursor: 'pointer',
|
||||
};
|
||||
|
||||
var containerStyle = {
|
||||
position: 'absolute',
|
||||
transformOrigin: '0 0',
|
||||
left: '50%',
|
||||
top: '50%',
|
||||
width: '10px',
|
||||
height: '10px',
|
||||
background: '#eee',
|
||||
};
|
||||
|
||||
var targetSize = 25;
|
||||
|
||||
class Dot extends React.Component {
|
||||
constructor() {
|
||||
super();
|
||||
this.state = { hover: false };
|
||||
}
|
||||
enter() {
|
||||
this.setState({
|
||||
hover: true
|
||||
});
|
||||
}
|
||||
leave() {
|
||||
this.setState({
|
||||
hover: false
|
||||
});
|
||||
}
|
||||
render() {
|
||||
var props = this.props;
|
||||
var s = props.size * 1.3;
|
||||
var style = {
|
||||
...dotStyle,
|
||||
width: s + 'px',
|
||||
height: s + 'px',
|
||||
left: (props.x) + 'px',
|
||||
top: (props.y) + 'px',
|
||||
borderRadius: (s / 2) + 'px',
|
||||
lineHeight: (s) + 'px',
|
||||
background: this.state.hover ? '#ff0' : dotStyle.background
|
||||
};
|
||||
return (
|
||||
<div style={style} onMouseEnter={() => this.enter()} onMouseLeave={() => this.leave()}>
|
||||
{this.state.hover ? '*' + props.text + '*' : props.text}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class SierpinskiTriangle extends React.Component {
|
||||
shouldComponentUpdate(nextProps) {
|
||||
var o = this.props;
|
||||
var n = nextProps;
|
||||
return !(
|
||||
o.x === n.x &&
|
||||
o.y === n.y &&
|
||||
o.s === n.s &&
|
||||
o.children === n.children
|
||||
);
|
||||
}
|
||||
render() {
|
||||
let {x, y, s, children} = this.props;
|
||||
if (s <= targetSize) {
|
||||
return (
|
||||
<Dot
|
||||
x={x - (targetSize / 2)}
|
||||
y={y - (targetSize / 2)}
|
||||
size={targetSize}
|
||||
text={children}
|
||||
/>
|
||||
);
|
||||
return r;
|
||||
}
|
||||
var newSize = s / 2;
|
||||
var slowDown = true;
|
||||
if (slowDown) {
|
||||
var e = performance.now() + 0.8;
|
||||
while (performance.now() < e) {
|
||||
// Artificially long execution time.
|
||||
}
|
||||
}
|
||||
|
||||
s /= 2;
|
||||
|
||||
return [
|
||||
<SierpinskiTriangle x={x} y={y - (s / 2)} s={s}>
|
||||
{children}
|
||||
</SierpinskiTriangle>,
|
||||
<SierpinskiTriangle x={x - s} y={y + (s / 2)} s={s}>
|
||||
{children}
|
||||
</SierpinskiTriangle>,
|
||||
<SierpinskiTriangle x={x + s} y={y + (s / 2)} s={s}>
|
||||
{children}
|
||||
</SierpinskiTriangle>,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
class ExampleApplication extends React.Component {
|
||||
constructor() {
|
||||
super();
|
||||
this.state = {
|
||||
seconds: 0,
|
||||
useTimeSlicing: true,
|
||||
};
|
||||
this.tick = this.tick.bind(this);
|
||||
this.onTimeSlicingChange = this.onTimeSlicingChange.bind(this);
|
||||
}
|
||||
componentDidMount() {
|
||||
this.intervalID = setInterval(this.tick, 1000);
|
||||
}
|
||||
tick() {
|
||||
if (this.state.useTimeSlicing) {
|
||||
// Update is time-sliced.
|
||||
ReactDOM.unstable_deferredUpdates(() => {
|
||||
this.setState(state => ({ seconds: (state.seconds % 10) + 1 }));
|
||||
});
|
||||
} else {
|
||||
// Update is not time-sliced. Causes demo to stutter.
|
||||
this.setState(state => ({ seconds: (state.seconds % 10) + 1 }));
|
||||
}
|
||||
}
|
||||
onTimeSlicingChange(value) {
|
||||
this.setState(() => ({ useTimeSlicing: value }));
|
||||
}
|
||||
componentWillUnmount() {
|
||||
clearInterval(this.intervalID);
|
||||
}
|
||||
render() {
|
||||
const seconds = this.state.seconds;
|
||||
const elapsed = this.props.elapsed;
|
||||
const t = (elapsed / 1000) % 10;
|
||||
const scale = 1 + (t > 5 ? 10 - t : t) / 10;
|
||||
const transform = 'scaleX(' + (scale / 2.1) + ') scaleY(0.7) translateZ(0.1px)';
|
||||
return (
|
||||
<div>
|
||||
<div>
|
||||
<h3>Time-slicing</h3>
|
||||
<p>Toggle this and observe the effect</p>
|
||||
<Toggle
|
||||
onLabel="On"
|
||||
offLabel="Off"
|
||||
onChange={this.onTimeSlicingChange}
|
||||
value={this.state.useTimeSlicing}
|
||||
/>
|
||||
</div>
|
||||
<div style={{ ...containerStyle, transform }}>
|
||||
<div>
|
||||
<SierpinskiTriangle x={0} y={0} s={1000}>
|
||||
{this.state.seconds}
|
||||
</SierpinskiTriangle>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class Toggle extends React.Component {
|
||||
constructor(props) {
|
||||
super();
|
||||
this.onChange = this.onChange.bind(this);
|
||||
}
|
||||
onChange(event) {
|
||||
this.props.onChange(event.target.value === 'on');
|
||||
}
|
||||
render() {
|
||||
const value = this.props.value;
|
||||
return (
|
||||
<label onChange={this.onChange}>
|
||||
<label>
|
||||
{this.props.onLabel}
|
||||
<input type="radio" name="value" value="on" checked={value} />
|
||||
</label>
|
||||
<label>
|
||||
{this.props.offLabel}
|
||||
<input type="radio" name="value" value="off" checked={!value} />
|
||||
</label>
|
||||
</label>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
var start = new Date().getTime();
|
||||
function update() {
|
||||
ReactDOM.render(
|
||||
<ExampleApplication elapsed={new Date().getTime() - start} />,
|
||||
document.getElementById('container')
|
||||
);
|
||||
requestAnimationFrame(update);
|
||||
}
|
||||
requestAnimationFrame(update);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -16,9 +16,15 @@
|
|||
If you checked out the source from GitHub make sure to run <code>npm run build</code>.
|
||||
</p>
|
||||
</div>
|
||||
<script src="../../build/oss-experimental/react/umd/react.development.js"></script>
|
||||
<script src="../../build/oss-experimental/react-dom/umd/react-dom.development.js"></script>
|
||||
<script src="../../build/oss-experimental/react-dom/umd/react-dom-server.browser.development.js"></script>
|
||||
<script type="module">
|
||||
import React from "https://esm.sh/react@canary?dev";
|
||||
import ReactDOM from "https://esm.sh/react-dom@canary?dev";
|
||||
import ReactDOMServer from "https://esm.sh/react-dom@canary/server.browser?dev";
|
||||
|
||||
window.React = React;
|
||||
window.ReactDOM = ReactDOM;
|
||||
window.ReactDOMServer = ReactDOMServer;
|
||||
</script>
|
||||
<script src="https://unpkg.com/babel-standalone@6/babel.js"></script>
|
||||
<script type="text/babel">
|
||||
async function render() {
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ function _assertThisInitialized(self) {
|
|||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
function _defineProperty(obj, key, value) {
|
||||
key = _toPropertyKey(key);
|
||||
if (key in obj) {
|
||||
Object.defineProperty(obj, key, {
|
||||
value: value,
|
||||
|
|
@ -20,60 +20,61 @@ function _defineProperty(obj, key, value) {
|
|||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
function _toPropertyKey(t) {
|
||||
var i = _toPrimitive(t, 'string');
|
||||
return 'symbol' == typeof i ? i : i + '';
|
||||
}
|
||||
function _toPrimitive(t, r) {
|
||||
if ('object' != typeof t || !t) return t;
|
||||
var e = t[Symbol.toPrimitive];
|
||||
if (void 0 !== e) {
|
||||
var i = e.call(t, r || 'default');
|
||||
if ('object' != typeof i) return i;
|
||||
throw new TypeError('@@toPrimitive must return a primitive value.');
|
||||
}
|
||||
return ('string' === r ? String : Number)(t);
|
||||
}
|
||||
function _inheritsLoose(subClass, superClass) {
|
||||
subClass.prototype = Object.create(superClass.prototype);
|
||||
subClass.prototype.constructor = subClass;
|
||||
subClass.__proto__ = superClass;
|
||||
_setPrototypeOf(subClass, superClass);
|
||||
}
|
||||
function _setPrototypeOf(o, p) {
|
||||
_setPrototypeOf = Object.setPrototypeOf
|
||||
? Object.setPrototypeOf.bind()
|
||||
: function _setPrototypeOf(o, p) {
|
||||
o.__proto__ = p;
|
||||
return o;
|
||||
};
|
||||
return _setPrototypeOf(o, p);
|
||||
}
|
||||
|
||||
// Compile this with Babel.
|
||||
// babel --config-file ./babel.config.json BabelClasses.js --out-file BabelClasses-compiled.js --source-maps
|
||||
let BabelClass = /*#__PURE__*/ (function (_React$Component) {
|
||||
_inheritsLoose(BabelClass, _React$Component);
|
||||
|
||||
export let BabelClass = /*#__PURE__*/ (function (_React$Component) {
|
||||
_inheritsLoose(BabelClass, _React$Component);
|
||||
function BabelClass() {
|
||||
return _React$Component.apply(this, arguments) || this;
|
||||
}
|
||||
|
||||
var _proto = BabelClass.prototype;
|
||||
|
||||
_proto.render = function render() {
|
||||
return this.props.children;
|
||||
};
|
||||
|
||||
return BabelClass;
|
||||
})(React.Component);
|
||||
|
||||
let BabelClassWithFields = /*#__PURE__*/ (function (_React$Component2) {
|
||||
export let BabelClassWithFields = /*#__PURE__*/ (function (_React$Component2) {
|
||||
_inheritsLoose(BabelClassWithFields, _React$Component2);
|
||||
|
||||
function BabelClassWithFields(...args) {
|
||||
var _this;
|
||||
|
||||
_this = _React$Component2.call(this, ...args) || this;
|
||||
|
||||
_defineProperty(
|
||||
_assertThisInitialized(_assertThisInitialized(_this)),
|
||||
'props',
|
||||
void 0
|
||||
);
|
||||
|
||||
_defineProperty(
|
||||
_assertThisInitialized(_assertThisInitialized(_this)),
|
||||
'state',
|
||||
{}
|
||||
);
|
||||
|
||||
_defineProperty(_assertThisInitialized(_this), 'props', void 0);
|
||||
_defineProperty(_assertThisInitialized(_this), 'state', {});
|
||||
return _this;
|
||||
}
|
||||
|
||||
} // These compile to defineProperty which can break some interception techniques.
|
||||
var _proto2 = BabelClassWithFields.prototype;
|
||||
|
||||
_proto2.render = function render() {
|
||||
return this.props.children;
|
||||
};
|
||||
|
||||
return BabelClassWithFields;
|
||||
})(React.Component);
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
{"version":3,"sources":["BabelClasses.js"],"names":[],"mappings":";;;;;;AAAA;AACA;IAEM,U;;;;;;;;;SACJ,M,qBAAS;AACP,WAAO,KAAK,KAAL,CAAW,QAAlB;AACD,G;;;EAHsB,KAAK,CAAC,S;;IAMzB,oB;;;;;;;;;;oFAGI,E;;;;;;;UACR,M,qBAAS;AACP,WAAO,KAAK,KAAL,CAAW,QAAlB;AACD,G;;;EANgC,KAAK,CAAC,S","file":"BabelClasses-compiled.js","sourcesContent":["// Compile this with Babel.\n// babel --config-file ./babel.config.json BabelClasses.js --out-file BabelClasses-compiled.js --source-maps\n\nclass BabelClass extends React.Component {\n render() {\n return this.props.children;\n }\n}\n\nclass BabelClassWithFields extends React.Component {\n // These compile to defineProperty which can break some interception techniques.\n props;\n state = {};\n render() {\n return this.props.children;\n }\n}\n"]}
|
||||
{"version":3,"file":"BabelClasses-compiled.js","names":["BabelClass","_React$Component","_inheritsLoose","apply","arguments","_proto","prototype","render","props","children","React","Component","BabelClassWithFields","_React$Component2","args","_this","call","_defineProperty","_assertThisInitialized","_proto2"],"sources":["BabelClasses.js"],"sourcesContent":["// Compile this with Babel.\n// babel --config-file ./babel.config.json BabelClasses.js --out-file BabelClasses-compiled.js --source-maps\n\nexport class BabelClass extends React.Component {\n render() {\n return this.props.children;\n }\n}\n\nexport class BabelClassWithFields extends React.Component {\n // These compile to defineProperty which can break some interception techniques.\n props;\n state = {};\n render() {\n return this.props.children;\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;;AAEA,WAAaA,UAAU,0BAAAC,gBAAA;EAAAC,cAAA,CAAAF,UAAA,EAAAC,gBAAA;EAAA,SAAAD,WAAA;IAAA,OAAAC,gBAAA,CAAAE,KAAA,OAAAC,SAAA;EAAA;EAAA,IAAAC,MAAA,GAAAL,UAAA,CAAAM,SAAA;EAAAD,MAAA,CACrBE,MAAM,GAAN,SAAAA,OAAA,EAAS;IACP,OAAO,IAAI,CAACC,KAAK,CAACC,QAAQ;EAC5B,CAAC;EAAA,OAAAT,UAAA;AAAA,EAH6BU,KAAK,CAACC,SAAS;AAM/C,WAAaC,oBAAoB,0BAAAC,iBAAA;EAAAX,cAAA,CAAAU,oBAAA,EAAAC,iBAAA;EAAA,SAAAD,qBAAA,GAAAE,IAAA;IAAA,IAAAC,KAAA;IAAAA,KAAA,GAAAF,iBAAA,CAAAG,IAAA,UAAAF,IAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAH,KAAA;IAAAE,eAAA,CAAAC,sBAAA,CAAAH,KAAA,YAGvB,CAAC,CAAC;IAAA,OAAAA,KAAA;EAAA,EAFV;EAAA,IAAAI,OAAA,GAAAP,oBAAA,CAAAN,SAAA;EAAAa,OAAA,CAGAZ,MAAM,GAAN,SAAAA,OAAA,EAAS;IACP,OAAO,IAAI,CAACC,KAAK,CAACC,QAAQ;EAC5B,CAAC;EAAA,OAAAG,oBAAA;AAAA,EANuCF,KAAK,CAACC,SAAS","ignoreList":[]}
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
// Compile this with Babel.
|
||||
// babel --config-file ./babel.config.json BabelClasses.js --out-file BabelClasses-compiled.js --source-maps
|
||||
|
||||
class BabelClass extends React.Component {
|
||||
export class BabelClass extends React.Component {
|
||||
render() {
|
||||
return this.props.children;
|
||||
}
|
||||
}
|
||||
|
||||
class BabelClassWithFields extends React.Component {
|
||||
export class BabelClassWithFields extends React.Component {
|
||||
// These compile to defineProperty which can break some interception techniques.
|
||||
props;
|
||||
state = {};
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
// Example
|
||||
|
||||
const Throw = React.lazy(() => {
|
||||
export const Throw = React.lazy(() => {
|
||||
throw new Error('Example');
|
||||
});
|
||||
|
||||
const Component = React.memo(function Component({children}) {
|
||||
export const Component = React.memo(function Component({children}) {
|
||||
return children;
|
||||
});
|
||||
|
||||
function DisplayName({children}) {
|
||||
export function DisplayName({children}) {
|
||||
return children;
|
||||
}
|
||||
DisplayName.displayName = 'Custom Name';
|
||||
|
||||
class NativeClass extends React.Component {
|
||||
export class NativeClass extends React.Component {
|
||||
render() {
|
||||
return this.props.children;
|
||||
}
|
||||
}
|
||||
|
||||
class FrozenClass extends React.Component {
|
||||
export class FrozenClass extends React.Component {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,11 @@
|
|||
// Example
|
||||
import {BabelClass, BabelClassWithFields} from './BabelClasses-compiled.js';
|
||||
import {
|
||||
Throw,
|
||||
Component,
|
||||
DisplayName,
|
||||
NativeClass,
|
||||
FrozenClass,
|
||||
} from './Components.js';
|
||||
|
||||
const x = React.createElement;
|
||||
|
||||
|
|
@ -29,7 +36,7 @@ class ErrorBoundary extends React.Component {
|
|||
}
|
||||
}
|
||||
|
||||
function Example() {
|
||||
export default function Example() {
|
||||
let state = React.useState(false);
|
||||
return x(
|
||||
ErrorBoundary,
|
||||
|
|
@ -38,25 +45,21 @@ function Example() {
|
|||
DisplayName,
|
||||
null,
|
||||
x(
|
||||
React.unstable_SuspenseList,
|
||||
NativeClass,
|
||||
null,
|
||||
x(
|
||||
NativeClass,
|
||||
FrozenClass,
|
||||
null,
|
||||
x(
|
||||
FrozenClass,
|
||||
BabelClass,
|
||||
null,
|
||||
x(
|
||||
BabelClass,
|
||||
BabelClassWithFields,
|
||||
null,
|
||||
x(
|
||||
BabelClassWithFields,
|
||||
React.Suspense,
|
||||
null,
|
||||
x(
|
||||
React.Suspense,
|
||||
null,
|
||||
x('div', null, x(Component, null, x(Throw)))
|
||||
)
|
||||
x('div', null, x(Component, null, x(Throw)))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -25,14 +25,19 @@
|
|||
If you checked out the source from GitHub make sure to run <code>npm run build</code>.
|
||||
</p>
|
||||
</div>
|
||||
<script src="../../build/oss-experimental/react/umd/react.production.min.js"></script>
|
||||
<script src="../../build/oss-experimental/react-dom/umd/react-dom.production.min.js"></script>
|
||||
<script src="./Components.js"></script>
|
||||
<script src="./BabelClasses-compiled.js"></script>
|
||||
<script src="./Example.js"></script>
|
||||
<script>
|
||||
const container = document.getElementById("container");
|
||||
ReactDOM.render(React.createElement(Example), container);
|
||||
<script type="module">
|
||||
import React from 'https://esm.sh/react@canary/?dev';
|
||||
import ReactDOMClient from 'https://esm.sh/react-dom@canary/client?dev';
|
||||
|
||||
window.React = React;
|
||||
window.ReactDOMClient = ReactDOMClient;
|
||||
|
||||
import("./Example.js").then(({ default: Example }) => {
|
||||
console.log("Example", Example)
|
||||
const container = document.getElementById("container");
|
||||
const root = ReactDOMClient.createRoot(container);
|
||||
root.render(React.createElement(Example));
|
||||
});
|
||||
</script>
|
||||
<h3>The above stack should look something like this:</h3>
|
||||
<pre>
|
||||
|
|
@ -44,7 +49,6 @@
|
|||
at BabelClass (/stacks/BabelClass-compiled.js:13:29)
|
||||
at FrozenClass (/stacks/Components.js:22:1)
|
||||
at NativeClass (/stacks/Component.js:16:1)
|
||||
at SuspenseList
|
||||
at Custom Name (/stacks/Component.js:11:1)
|
||||
at ErrorBoundary (/stacks/Example.js:5:1)
|
||||
at Example (/stacks/Example.js:32:1)</pre>
|
||||
|
|
|
|||
13
fixtures/stacks/package.json
Normal file
13
fixtures/stacks/package.json
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"scripts": {
|
||||
"build": "babel --config-file ./babel.config.json BabelClasses.js -o BabelClasses-compiled.js --source-maps",
|
||||
"dev": "http-server ."
|
||||
},
|
||||
"dependencies": {
|
||||
"http-server": "^14.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.24.1",
|
||||
"@babel/core": "^7.24.4"
|
||||
}
|
||||
}
|
||||
918
fixtures/stacks/yarn.lock
Normal file
918
fixtures/stacks/yarn.lock
Normal file
|
|
@ -0,0 +1,918 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@ampproject/remapping@^2.2.0":
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4"
|
||||
integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
|
||||
dependencies:
|
||||
"@jridgewell/gen-mapping" "^0.3.5"
|
||||
"@jridgewell/trace-mapping" "^0.3.24"
|
||||
|
||||
"@babel/cli@^7.24.1":
|
||||
version "7.24.1"
|
||||
resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.24.1.tgz#2e11e071e32fe82850b4fe514f56b9c9e1c44911"
|
||||
integrity sha512-HbmrtxyFUr34LwAlV9jS+sSIjUp4FpdtIMGwgufY3AsxrIfsh/HxlMTywsONAZsU0RMYbZtbZFpUCrSGs7o0EA==
|
||||
dependencies:
|
||||
"@jridgewell/trace-mapping" "^0.3.25"
|
||||
commander "^4.0.1"
|
||||
convert-source-map "^2.0.0"
|
||||
fs-readdir-recursive "^1.1.0"
|
||||
glob "^7.2.0"
|
||||
make-dir "^2.1.0"
|
||||
slash "^2.0.0"
|
||||
optionalDependencies:
|
||||
"@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3"
|
||||
chokidar "^3.4.0"
|
||||
|
||||
"@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2":
|
||||
version "7.24.2"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae"
|
||||
integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==
|
||||
dependencies:
|
||||
"@babel/highlight" "^7.24.2"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
"@babel/compat-data@^7.23.5":
|
||||
version "7.24.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a"
|
||||
integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==
|
||||
|
||||
"@babel/core@^7.24.4":
|
||||
version "7.24.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.4.tgz#1f758428e88e0d8c563874741bc4ffc4f71a4717"
|
||||
integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==
|
||||
dependencies:
|
||||
"@ampproject/remapping" "^2.2.0"
|
||||
"@babel/code-frame" "^7.24.2"
|
||||
"@babel/generator" "^7.24.4"
|
||||
"@babel/helper-compilation-targets" "^7.23.6"
|
||||
"@babel/helper-module-transforms" "^7.23.3"
|
||||
"@babel/helpers" "^7.24.4"
|
||||
"@babel/parser" "^7.24.4"
|
||||
"@babel/template" "^7.24.0"
|
||||
"@babel/traverse" "^7.24.1"
|
||||
"@babel/types" "^7.24.0"
|
||||
convert-source-map "^2.0.0"
|
||||
debug "^4.1.0"
|
||||
gensync "^1.0.0-beta.2"
|
||||
json5 "^2.2.3"
|
||||
semver "^6.3.1"
|
||||
|
||||
"@babel/generator@^7.24.1", "@babel/generator@^7.24.4":
|
||||
version "7.24.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.4.tgz#1fc55532b88adf952025d5d2d1e71f946cb1c498"
|
||||
integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==
|
||||
dependencies:
|
||||
"@babel/types" "^7.24.0"
|
||||
"@jridgewell/gen-mapping" "^0.3.5"
|
||||
"@jridgewell/trace-mapping" "^0.3.25"
|
||||
jsesc "^2.5.1"
|
||||
|
||||
"@babel/helper-compilation-targets@^7.23.6":
|
||||
version "7.23.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991"
|
||||
integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==
|
||||
dependencies:
|
||||
"@babel/compat-data" "^7.23.5"
|
||||
"@babel/helper-validator-option" "^7.23.5"
|
||||
browserslist "^4.22.2"
|
||||
lru-cache "^5.1.1"
|
||||
semver "^6.3.1"
|
||||
|
||||
"@babel/helper-environment-visitor@^7.22.20":
|
||||
version "7.22.20"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
|
||||
integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
|
||||
|
||||
"@babel/helper-function-name@^7.23.0":
|
||||
version "7.23.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
|
||||
integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
|
||||
dependencies:
|
||||
"@babel/template" "^7.22.15"
|
||||
"@babel/types" "^7.23.0"
|
||||
|
||||
"@babel/helper-hoist-variables@^7.22.5":
|
||||
version "7.22.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
|
||||
integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
|
||||
dependencies:
|
||||
"@babel/types" "^7.22.5"
|
||||
|
||||
"@babel/helper-module-imports@^7.22.15":
|
||||
version "7.24.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128"
|
||||
integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==
|
||||
dependencies:
|
||||
"@babel/types" "^7.24.0"
|
||||
|
||||
"@babel/helper-module-transforms@^7.23.3":
|
||||
version "7.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1"
|
||||
integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==
|
||||
dependencies:
|
||||
"@babel/helper-environment-visitor" "^7.22.20"
|
||||
"@babel/helper-module-imports" "^7.22.15"
|
||||
"@babel/helper-simple-access" "^7.22.5"
|
||||
"@babel/helper-split-export-declaration" "^7.22.6"
|
||||
"@babel/helper-validator-identifier" "^7.22.20"
|
||||
|
||||
"@babel/helper-simple-access@^7.22.5":
|
||||
version "7.22.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de"
|
||||
integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==
|
||||
dependencies:
|
||||
"@babel/types" "^7.22.5"
|
||||
|
||||
"@babel/helper-split-export-declaration@^7.22.6":
|
||||
version "7.22.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
|
||||
integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
|
||||
dependencies:
|
||||
"@babel/types" "^7.22.5"
|
||||
|
||||
"@babel/helper-string-parser@^7.23.4":
|
||||
version "7.24.1"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e"
|
||||
integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==
|
||||
|
||||
"@babel/helper-validator-identifier@^7.22.20":
|
||||
version "7.22.20"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
|
||||
integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
|
||||
|
||||
"@babel/helper-validator-option@^7.23.5":
|
||||
version "7.23.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307"
|
||||
integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==
|
||||
|
||||
"@babel/helpers@^7.24.4":
|
||||
version "7.24.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.4.tgz#dc00907fd0d95da74563c142ef4cd21f2cb856b6"
|
||||
integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==
|
||||
dependencies:
|
||||
"@babel/template" "^7.24.0"
|
||||
"@babel/traverse" "^7.24.1"
|
||||
"@babel/types" "^7.24.0"
|
||||
|
||||
"@babel/highlight@^7.24.2":
|
||||
version "7.24.2"
|
||||
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26"
|
||||
integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==
|
||||
dependencies:
|
||||
"@babel/helper-validator-identifier" "^7.22.20"
|
||||
chalk "^2.4.2"
|
||||
js-tokens "^4.0.0"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
"@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4":
|
||||
version "7.24.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88"
|
||||
integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==
|
||||
|
||||
"@babel/template@^7.22.15", "@babel/template@^7.24.0":
|
||||
version "7.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50"
|
||||
integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.23.5"
|
||||
"@babel/parser" "^7.24.0"
|
||||
"@babel/types" "^7.24.0"
|
||||
|
||||
"@babel/traverse@^7.24.1":
|
||||
version "7.24.1"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c"
|
||||
integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.24.1"
|
||||
"@babel/generator" "^7.24.1"
|
||||
"@babel/helper-environment-visitor" "^7.22.20"
|
||||
"@babel/helper-function-name" "^7.23.0"
|
||||
"@babel/helper-hoist-variables" "^7.22.5"
|
||||
"@babel/helper-split-export-declaration" "^7.22.6"
|
||||
"@babel/parser" "^7.24.1"
|
||||
"@babel/types" "^7.24.0"
|
||||
debug "^4.3.1"
|
||||
globals "^11.1.0"
|
||||
|
||||
"@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0":
|
||||
version "7.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf"
|
||||
integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==
|
||||
dependencies:
|
||||
"@babel/helper-string-parser" "^7.23.4"
|
||||
"@babel/helper-validator-identifier" "^7.22.20"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@jridgewell/gen-mapping@^0.3.5":
|
||||
version "0.3.5"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36"
|
||||
integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==
|
||||
dependencies:
|
||||
"@jridgewell/set-array" "^1.2.1"
|
||||
"@jridgewell/sourcemap-codec" "^1.4.10"
|
||||
"@jridgewell/trace-mapping" "^0.3.24"
|
||||
|
||||
"@jridgewell/resolve-uri@^3.1.0":
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
|
||||
integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
|
||||
|
||||
"@jridgewell/set-array@^1.2.1":
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280"
|
||||
integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
|
||||
|
||||
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14":
|
||||
version "1.4.15"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
|
||||
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
|
||||
|
||||
"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
|
||||
version "0.3.25"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
|
||||
integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
|
||||
dependencies:
|
||||
"@jridgewell/resolve-uri" "^3.1.0"
|
||||
"@jridgewell/sourcemap-codec" "^1.4.14"
|
||||
|
||||
"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3":
|
||||
version "2.1.8-no-fsevents.3"
|
||||
resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b"
|
||||
integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==
|
||||
|
||||
ansi-styles@^3.2.1:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
|
||||
integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
|
||||
dependencies:
|
||||
color-convert "^1.9.0"
|
||||
|
||||
ansi-styles@^4.1.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
|
||||
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
|
||||
dependencies:
|
||||
color-convert "^2.0.1"
|
||||
|
||||
anymatch@~3.1.2:
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
|
||||
integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
|
||||
dependencies:
|
||||
normalize-path "^3.0.0"
|
||||
picomatch "^2.0.4"
|
||||
|
||||
async@^2.6.4:
|
||||
version "2.6.4"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221"
|
||||
integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==
|
||||
dependencies:
|
||||
lodash "^4.17.14"
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
||||
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
||||
|
||||
basic-auth@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a"
|
||||
integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==
|
||||
dependencies:
|
||||
safe-buffer "5.1.2"
|
||||
|
||||
binary-extensions@^2.0.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
|
||||
integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
|
||||
|
||||
brace-expansion@^1.1.7:
|
||||
version "1.1.11"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
||||
integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
concat-map "0.0.1"
|
||||
|
||||
braces@~3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
|
||||
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
|
||||
dependencies:
|
||||
fill-range "^7.0.1"
|
||||
|
||||
browserslist@^4.22.2:
|
||||
version "4.23.0"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab"
|
||||
integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30001587"
|
||||
electron-to-chromium "^1.4.668"
|
||||
node-releases "^2.0.14"
|
||||
update-browserslist-db "^1.0.13"
|
||||
|
||||
call-bind@^1.0.7:
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9"
|
||||
integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
|
||||
dependencies:
|
||||
es-define-property "^1.0.0"
|
||||
es-errors "^1.3.0"
|
||||
function-bind "^1.1.2"
|
||||
get-intrinsic "^1.2.4"
|
||||
set-function-length "^1.2.1"
|
||||
|
||||
caniuse-lite@^1.0.30001587:
|
||||
version "1.0.30001610"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz#2f44ed6e21d359e914271ae35b68903632628ccf"
|
||||
integrity sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==
|
||||
|
||||
chalk@^2.4.2:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
||||
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
|
||||
dependencies:
|
||||
ansi-styles "^3.2.1"
|
||||
escape-string-regexp "^1.0.5"
|
||||
supports-color "^5.3.0"
|
||||
|
||||
chalk@^4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
|
||||
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
|
||||
dependencies:
|
||||
ansi-styles "^4.1.0"
|
||||
supports-color "^7.1.0"
|
||||
|
||||
chokidar@^3.4.0:
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
|
||||
integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
|
||||
dependencies:
|
||||
anymatch "~3.1.2"
|
||||
braces "~3.0.2"
|
||||
glob-parent "~5.1.2"
|
||||
is-binary-path "~2.1.0"
|
||||
is-glob "~4.0.1"
|
||||
normalize-path "~3.0.0"
|
||||
readdirp "~3.6.0"
|
||||
optionalDependencies:
|
||||
fsevents "~2.3.2"
|
||||
|
||||
color-convert@^1.9.0:
|
||||
version "1.9.3"
|
||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
||||
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
|
||||
dependencies:
|
||||
color-name "1.1.3"
|
||||
|
||||
color-convert@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
|
||||
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
|
||||
dependencies:
|
||||
color-name "~1.1.4"
|
||||
|
||||
color-name@1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
|
||||
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
|
||||
|
||||
color-name@~1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
commander@^4.0.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
|
||||
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
|
||||
|
||||
concat-map@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
||||
integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
|
||||
|
||||
convert-source-map@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
|
||||
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
|
||||
|
||||
corser@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87"
|
||||
integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==
|
||||
|
||||
debug@^3.2.7:
|
||||
version "3.2.7"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
|
||||
integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
|
||||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
debug@^4.1.0, debug@^4.3.1:
|
||||
version "4.3.4"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
define-data-property@^1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
|
||||
integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
|
||||
dependencies:
|
||||
es-define-property "^1.0.0"
|
||||
es-errors "^1.3.0"
|
||||
gopd "^1.0.1"
|
||||
|
||||
electron-to-chromium@^1.4.668:
|
||||
version "1.4.736"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.736.tgz#ecb4348f4d5c70fb1e31c347e5bad6b751066416"
|
||||
integrity sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q==
|
||||
|
||||
es-define-property@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845"
|
||||
integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
|
||||
dependencies:
|
||||
get-intrinsic "^1.2.4"
|
||||
|
||||
es-errors@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
|
||||
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
|
||||
|
||||
escalade@^3.1.1:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27"
|
||||
integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==
|
||||
|
||||
escape-string-regexp@^1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
||||
integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
|
||||
|
||||
eventemitter3@^4.0.0:
|
||||
version "4.0.7"
|
||||
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
|
||||
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
|
||||
|
||||
fill-range@^7.0.1:
|
||||
version "7.0.1"
|
||||
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
|
||||
integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
|
||||
dependencies:
|
||||
to-regex-range "^5.0.1"
|
||||
|
||||
follow-redirects@^1.0.0:
|
||||
version "1.15.6"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b"
|
||||
integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
|
||||
|
||||
fs-readdir-recursive@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
|
||||
integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==
|
||||
|
||||
fs.realpath@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
||||
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
|
||||
|
||||
fsevents@~2.3.2:
|
||||
version "2.3.3"
|
||||
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
|
||||
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
|
||||
|
||||
function-bind@^1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
|
||||
integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
|
||||
|
||||
gensync@^1.0.0-beta.2:
|
||||
version "1.0.0-beta.2"
|
||||
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
|
||||
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
|
||||
|
||||
get-intrinsic@^1.1.3, get-intrinsic@^1.2.4:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd"
|
||||
integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
|
||||
dependencies:
|
||||
es-errors "^1.3.0"
|
||||
function-bind "^1.1.2"
|
||||
has-proto "^1.0.1"
|
||||
has-symbols "^1.0.3"
|
||||
hasown "^2.0.0"
|
||||
|
||||
glob-parent@~5.1.2:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
|
||||
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
|
||||
dependencies:
|
||||
is-glob "^4.0.1"
|
||||
|
||||
glob@^7.2.0:
|
||||
version "7.2.3"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
|
||||
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
|
||||
dependencies:
|
||||
fs.realpath "^1.0.0"
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "^3.1.1"
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
globals@^11.1.0:
|
||||
version "11.12.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
|
||||
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
|
||||
|
||||
gopd@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
|
||||
integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
|
||||
dependencies:
|
||||
get-intrinsic "^1.1.3"
|
||||
|
||||
has-flag@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
|
||||
integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
|
||||
|
||||
has-flag@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
|
||||
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
|
||||
|
||||
has-property-descriptors@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
|
||||
integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
|
||||
dependencies:
|
||||
es-define-property "^1.0.0"
|
||||
|
||||
has-proto@^1.0.1:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd"
|
||||
integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==
|
||||
|
||||
has-symbols@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
|
||||
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
|
||||
|
||||
hasown@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
|
||||
integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
|
||||
dependencies:
|
||||
function-bind "^1.1.2"
|
||||
|
||||
he@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
|
||||
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
||||
|
||||
html-encoding-sniffer@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9"
|
||||
integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==
|
||||
dependencies:
|
||||
whatwg-encoding "^2.0.0"
|
||||
|
||||
http-proxy@^1.18.1:
|
||||
version "1.18.1"
|
||||
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
|
||||
integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
|
||||
dependencies:
|
||||
eventemitter3 "^4.0.0"
|
||||
follow-redirects "^1.0.0"
|
||||
requires-port "^1.0.0"
|
||||
|
||||
http-server@^14.1.1:
|
||||
version "14.1.1"
|
||||
resolved "https://registry.yarnpkg.com/http-server/-/http-server-14.1.1.tgz#d60fbb37d7c2fdff0f0fbff0d0ee6670bd285e2e"
|
||||
integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==
|
||||
dependencies:
|
||||
basic-auth "^2.0.1"
|
||||
chalk "^4.1.2"
|
||||
corser "^2.0.1"
|
||||
he "^1.2.0"
|
||||
html-encoding-sniffer "^3.0.0"
|
||||
http-proxy "^1.18.1"
|
||||
mime "^1.6.0"
|
||||
minimist "^1.2.6"
|
||||
opener "^1.5.1"
|
||||
portfinder "^1.0.28"
|
||||
secure-compare "3.0.1"
|
||||
union "~0.5.0"
|
||||
url-join "^4.0.1"
|
||||
|
||||
iconv-lite@0.6.3:
|
||||
version "0.6.3"
|
||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
|
||||
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
|
||||
dependencies:
|
||||
safer-buffer ">= 2.1.2 < 3.0.0"
|
||||
|
||||
inflight@^1.0.4:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
|
||||
integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
|
||||
dependencies:
|
||||
once "^1.3.0"
|
||||
wrappy "1"
|
||||
|
||||
inherits@2:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||
|
||||
is-binary-path@~2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
|
||||
integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
|
||||
dependencies:
|
||||
binary-extensions "^2.0.0"
|
||||
|
||||
is-extglob@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
||||
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
|
||||
|
||||
is-glob@^4.0.1, is-glob@~4.0.1:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
|
||||
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
|
||||
dependencies:
|
||||
is-extglob "^2.1.1"
|
||||
|
||||
is-number@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
|
||||
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
|
||||
|
||||
js-tokens@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
||||
|
||||
jsesc@^2.5.1:
|
||||
version "2.5.2"
|
||||
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
|
||||
integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
|
||||
|
||||
json5@^2.2.3:
|
||||
version "2.2.3"
|
||||
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
|
||||
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
|
||||
|
||||
lodash@^4.17.14:
|
||||
version "4.17.21"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
|
||||
|
||||
lru-cache@^5.1.1:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
|
||||
integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
|
||||
dependencies:
|
||||
yallist "^3.0.2"
|
||||
|
||||
make-dir@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
|
||||
integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
|
||||
dependencies:
|
||||
pify "^4.0.1"
|
||||
semver "^5.6.0"
|
||||
|
||||
mime@^1.6.0:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
|
||||
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
|
||||
|
||||
minimatch@^3.1.1:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
|
||||
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimist@^1.2.6:
|
||||
version "1.2.8"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
|
||||
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
|
||||
|
||||
mkdirp@^0.5.6:
|
||||
version "0.5.6"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
|
||||
integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
|
||||
dependencies:
|
||||
minimist "^1.2.6"
|
||||
|
||||
ms@2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
||||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
||||
|
||||
ms@^2.1.1:
|
||||
version "2.1.3"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
|
||||
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
||||
|
||||
node-releases@^2.0.14:
|
||||
version "2.0.14"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b"
|
||||
integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==
|
||||
|
||||
normalize-path@^3.0.0, normalize-path@~3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
|
||||
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
|
||||
|
||||
object-inspect@^1.13.1:
|
||||
version "1.13.1"
|
||||
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2"
|
||||
integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
|
||||
|
||||
once@^1.3.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||
integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
|
||||
dependencies:
|
||||
wrappy "1"
|
||||
|
||||
opener@^1.5.1:
|
||||
version "1.5.2"
|
||||
resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
|
||||
integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
|
||||
|
||||
path-is-absolute@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
||||
integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
|
||||
|
||||
picocolors@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
|
||||
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
|
||||
|
||||
picomatch@^2.0.4, picomatch@^2.2.1:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
|
||||
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
||||
|
||||
pify@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
|
||||
integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
|
||||
|
||||
portfinder@^1.0.28:
|
||||
version "1.0.32"
|
||||
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81"
|
||||
integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==
|
||||
dependencies:
|
||||
async "^2.6.4"
|
||||
debug "^3.2.7"
|
||||
mkdirp "^0.5.6"
|
||||
|
||||
qs@^6.4.0:
|
||||
version "6.12.1"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.1.tgz#39422111ca7cbdb70425541cba20c7d7b216599a"
|
||||
integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==
|
||||
dependencies:
|
||||
side-channel "^1.0.6"
|
||||
|
||||
readdirp@~3.6.0:
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
|
||||
integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
|
||||
dependencies:
|
||||
picomatch "^2.2.1"
|
||||
|
||||
requires-port@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
|
||||
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
|
||||
|
||||
safe-buffer@5.1.2:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||
|
||||
"safer-buffer@>= 2.1.2 < 3.0.0":
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
|
||||
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
|
||||
|
||||
secure-compare@3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3"
|
||||
integrity sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==
|
||||
|
||||
semver@^5.6.0:
|
||||
version "5.7.2"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
|
||||
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
|
||||
|
||||
semver@^6.3.1:
|
||||
version "6.3.1"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
|
||||
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
||||
|
||||
set-function-length@^1.2.1:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
|
||||
integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
|
||||
dependencies:
|
||||
define-data-property "^1.1.4"
|
||||
es-errors "^1.3.0"
|
||||
function-bind "^1.1.2"
|
||||
get-intrinsic "^1.2.4"
|
||||
gopd "^1.0.1"
|
||||
has-property-descriptors "^1.0.2"
|
||||
|
||||
side-channel@^1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2"
|
||||
integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
|
||||
dependencies:
|
||||
call-bind "^1.0.7"
|
||||
es-errors "^1.3.0"
|
||||
get-intrinsic "^1.2.4"
|
||||
object-inspect "^1.13.1"
|
||||
|
||||
slash@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
|
||||
integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
|
||||
|
||||
supports-color@^5.3.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
|
||||
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
|
||||
dependencies:
|
||||
has-flag "^3.0.0"
|
||||
|
||||
supports-color@^7.1.0:
|
||||
version "7.2.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
|
||||
integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
|
||||
dependencies:
|
||||
has-flag "^4.0.0"
|
||||
|
||||
to-fast-properties@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
|
||||
integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
|
||||
|
||||
to-regex-range@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
|
||||
integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
|
||||
dependencies:
|
||||
is-number "^7.0.0"
|
||||
|
||||
union@~0.5.0:
|
||||
version "0.5.0"
|
||||
resolved "https://registry.yarnpkg.com/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075"
|
||||
integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==
|
||||
dependencies:
|
||||
qs "^6.4.0"
|
||||
|
||||
update-browserslist-db@^1.0.13:
|
||||
version "1.0.13"
|
||||
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4"
|
||||
integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==
|
||||
dependencies:
|
||||
escalade "^3.1.1"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
url-join@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7"
|
||||
integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
|
||||
|
||||
whatwg-encoding@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53"
|
||||
integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==
|
||||
dependencies:
|
||||
iconv-lite "0.6.3"
|
||||
|
||||
wrappy@1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
|
||||
|
||||
yallist@^3.0.2:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
|
||||
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
[build]
|
||||
base = ""
|
||||
publish = "fixtures/dom/build"
|
||||
command = "yarn build --type=UMD_DEV && cd fixtures/dom/ && yarn && yarn predev && yarn build"
|
||||
command = "yarn build --type=UMD_DEV && cd fixtures/dom/ && yarn && yarn build"
|
||||
|
||||
[[redirects]]
|
||||
from = "/*"
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@
|
|||
"test-www": "node ./scripts/jest/jest-cli.js --release-channel=www-modern",
|
||||
"test-classic": "node ./scripts/jest/jest-cli.js --release-channel=www-classic",
|
||||
"test-build-devtools": "node ./scripts/jest/jest-cli.js --build --project devtools --release-channel=experimental",
|
||||
"test-dom-fixture": "cd fixtures/dom && yarn && yarn predev && yarn test",
|
||||
"test-dom-fixture": "cd fixtures/dom && yarn && yarn test",
|
||||
"flow": "node ./scripts/tasks/flow.js",
|
||||
"flow-ci": "node ./scripts/tasks/flow-ci.js",
|
||||
"prettier": "node ./scripts/prettier/index.js write-changed",
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
"README.md",
|
||||
"index.js",
|
||||
"cjs/",
|
||||
"umd/",
|
||||
"Circle.js",
|
||||
"Rectangle.js",
|
||||
"Wedge.js"
|
||||
|
|
|
|||
|
|
@ -12,8 +12,7 @@
|
|||
"LICENSE",
|
||||
"README.md",
|
||||
"index.js",
|
||||
"cjs/",
|
||||
"umd/"
|
||||
"cjs/"
|
||||
],
|
||||
"peerDependencies": {
|
||||
"react": "^17.0.0"
|
||||
|
|
|
|||
8
packages/react-dom/client.js
vendored
8
packages/react-dom/client.js
vendored
|
|
@ -27,13 +27,13 @@ export function createRoot(
|
|||
options?: CreateRootOptions,
|
||||
): RootType {
|
||||
if (__DEV__) {
|
||||
(Internals: any).usingClientEntryPoint = true;
|
||||
Internals.usingClientEntryPoint = true;
|
||||
}
|
||||
try {
|
||||
return createRootImpl(container, options);
|
||||
} finally {
|
||||
if (__DEV__) {
|
||||
(Internals: any).usingClientEntryPoint = false;
|
||||
Internals.usingClientEntryPoint = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -44,13 +44,13 @@ export function hydrateRoot(
|
|||
options?: HydrateRootOptions,
|
||||
): RootType {
|
||||
if (__DEV__) {
|
||||
(Internals: any).usingClientEntryPoint = true;
|
||||
Internals.usingClientEntryPoint = true;
|
||||
}
|
||||
try {
|
||||
return hydrateRootImpl(container, children, options);
|
||||
} finally {
|
||||
if (__DEV__) {
|
||||
(Internals: any).usingClientEntryPoint = false;
|
||||
Internals.usingClientEntryPoint = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,8 +47,7 @@
|
|||
"unstable_testing.js",
|
||||
"unstable_testing.react-server.js",
|
||||
"unstable_server-external-runtime.js",
|
||||
"cjs/",
|
||||
"umd/"
|
||||
"cjs/"
|
||||
],
|
||||
"exports": {
|
||||
".": {
|
||||
|
|
|
|||
4
packages/react-dom/src/client/ReactDOM.js
vendored
4
packages/react-dom/src/client/ReactDOM.js
vendored
|
|
@ -89,7 +89,7 @@ function createRoot(
|
|||
options?: CreateRootOptions,
|
||||
): RootType {
|
||||
if (__DEV__) {
|
||||
if (!(Internals: any).usingClientEntryPoint && !__UMD__) {
|
||||
if (!Internals.usingClientEntryPoint) {
|
||||
console.error(
|
||||
'You are importing createRoot from "react-dom" which is not supported. ' +
|
||||
'You should instead import it from "react-dom/client".',
|
||||
|
|
@ -105,7 +105,7 @@ function hydrateRoot(
|
|||
options?: HydrateRootOptions,
|
||||
): RootType {
|
||||
if (__DEV__) {
|
||||
if (!(Internals: any).usingClientEntryPoint && !__UMD__) {
|
||||
if (!Internals.usingClientEntryPoint) {
|
||||
console.error(
|
||||
'You are importing hydrateRoot from "react-dom" which is not supported. ' +
|
||||
'You should instead import it from "react-dom/client".',
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@
|
|||
"LICENSE",
|
||||
"README.md",
|
||||
"index.js",
|
||||
"cjs/",
|
||||
"umd/"
|
||||
"cjs/"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,8 +13,7 @@
|
|||
"README.md",
|
||||
"babel.js",
|
||||
"runtime.js",
|
||||
"cjs/",
|
||||
"umd/"
|
||||
"cjs/"
|
||||
],
|
||||
"main": "runtime.js",
|
||||
"exports": {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@
|
|||
"server.node.unbundled.js",
|
||||
"node-register.js",
|
||||
"cjs/",
|
||||
"umd/",
|
||||
"esm/"
|
||||
],
|
||||
"exports": {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
"server.node.unbundled.js",
|
||||
"node-register.js",
|
||||
"cjs/",
|
||||
"umd/",
|
||||
"esm/"
|
||||
],
|
||||
"exports": {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@
|
|||
"README.md",
|
||||
"index.js",
|
||||
"shallow.js",
|
||||
"cjs/",
|
||||
"umd/"
|
||||
"cjs/"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@
|
|||
"README.md",
|
||||
"index.js",
|
||||
"cjs/",
|
||||
"umd/",
|
||||
"jsx-runtime.js",
|
||||
"jsx-runtime.react-server.js",
|
||||
"jsx-dev-runtime.js",
|
||||
|
|
|
|||
|
|
@ -1,101 +0,0 @@
|
|||
/**
|
||||
* 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.
|
||||
*
|
||||
* @flow
|
||||
*/
|
||||
|
||||
import type {Dispatcher} from 'react-reconciler/src/ReactInternalTypes';
|
||||
import type {CacheDispatcher} from 'react-reconciler/src/ReactInternalTypes';
|
||||
import type {BatchConfigTransition} from 'react-reconciler/src/ReactFiberTracingMarkerComponent';
|
||||
import type {Fiber} from 'react-reconciler/src/ReactInternalTypes';
|
||||
|
||||
import * as Scheduler from 'scheduler';
|
||||
|
||||
import {disableStringRefs} from 'shared/ReactFeatureFlags';
|
||||
|
||||
export type SharedStateClient = {
|
||||
H: null | Dispatcher, // ReactCurrentDispatcher for Hooks
|
||||
C: null | CacheDispatcher, // ReactCurrentCache for Cache
|
||||
T: null | BatchConfigTransition, // ReactCurrentBatchConfig for Transitions
|
||||
|
||||
// DEV-only-ish
|
||||
owner?: null | Fiber, // ReactCurrentOwner is Fiber on the Client, null in Fizz. Flight uses SharedStateServer.
|
||||
|
||||
// ReactCurrentActQueue
|
||||
actQueue?: null | Array<RendererTask>,
|
||||
|
||||
// Used to reproduce behavior of `batchedUpdates` in legacy mode.
|
||||
isBatchingLegacy?: boolean,
|
||||
didScheduleLegacyUpdate?: boolean,
|
||||
|
||||
// Tracks whether something called `use` during the current batch of work.
|
||||
// Determines whether we should yield to microtasks to unwrap already resolved
|
||||
// promises without suspending.
|
||||
didUsePromise?: boolean,
|
||||
|
||||
// Track first uncaught error within this act
|
||||
thrownErrors?: Array<mixed>,
|
||||
|
||||
// ReactDebugCurrentFrame
|
||||
setExtraStackFrame?: (stack: null | string) => void,
|
||||
getCurrentStack?: null | (() => string),
|
||||
getStackAddendum?: () => string,
|
||||
|
||||
Scheduler: any,
|
||||
};
|
||||
|
||||
export type RendererTask = boolean => RendererTask | null;
|
||||
|
||||
const ReactSharedInternals: SharedStateClient = {
|
||||
H: null,
|
||||
C: null,
|
||||
T: null,
|
||||
|
||||
// Re-export the schedule API(s) for UMD bundles.
|
||||
// This avoids introducing a dependency on a new UMD global in a minor update,
|
||||
// Since that would be a breaking change (e.g. for all existing CodeSandboxes).
|
||||
// This re-export is only required for UMD bundles;
|
||||
// CJS bundles use the shared NPM package.
|
||||
Scheduler,
|
||||
};
|
||||
|
||||
if (__DEV__ || !disableStringRefs) {
|
||||
ReactSharedInternals.owner = null;
|
||||
}
|
||||
|
||||
if (__DEV__) {
|
||||
ReactSharedInternals.actQueue = null;
|
||||
ReactSharedInternals.isBatchingLegacy = false;
|
||||
ReactSharedInternals.didScheduleLegacyUpdate = false;
|
||||
ReactSharedInternals.didUsePromise = false;
|
||||
ReactSharedInternals.thrownErrors = [];
|
||||
|
||||
let currentExtraStackFrame = (null: null | string);
|
||||
ReactSharedInternals.setExtraStackFrame = function (stack: null | string) {
|
||||
currentExtraStackFrame = stack;
|
||||
};
|
||||
// Stack implementation injected by the current renderer.
|
||||
ReactSharedInternals.getCurrentStack = (null: null | (() => string));
|
||||
|
||||
ReactSharedInternals.getStackAddendum = function (): string {
|
||||
let stack = '';
|
||||
|
||||
// Add an extra top frame while an element is being validated
|
||||
if (currentExtraStackFrame) {
|
||||
stack += currentExtraStackFrame;
|
||||
}
|
||||
|
||||
// Delegate to the injected renderer-specific implementation
|
||||
const impl = ReactSharedInternals.getCurrentStack;
|
||||
if (impl) {
|
||||
stack += impl() || '';
|
||||
}
|
||||
|
||||
return stack;
|
||||
};
|
||||
}
|
||||
|
||||
export default ReactSharedInternals;
|
||||
|
|
@ -22,7 +22,6 @@
|
|||
"index.native.js",
|
||||
"unstable_mock.js",
|
||||
"unstable_post_task.js",
|
||||
"cjs/",
|
||||
"umd/"
|
||||
"cjs/"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,54 +0,0 @@
|
|||
/**
|
||||
* 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.
|
||||
*
|
||||
* @jest-environment node
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
class MockMessageChannel {
|
||||
constructor() {
|
||||
this.port1 = jest.fn();
|
||||
this.port2 = jest.fn();
|
||||
}
|
||||
}
|
||||
|
||||
describe('Scheduling UMD bundle', () => {
|
||||
beforeEach(() => {
|
||||
// Fool SECRET_INTERNALS object into including UMD forwarding methods.
|
||||
global.__UMD__ = true;
|
||||
|
||||
jest.resetModules();
|
||||
jest.unmock('scheduler');
|
||||
|
||||
global.MessageChannel = MockMessageChannel;
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
global.MessageChannel = undefined;
|
||||
});
|
||||
|
||||
function validateForwardedAPIs(api, forwardedAPIs) {
|
||||
const apiKeys = Object.keys(api).sort();
|
||||
forwardedAPIs.forEach(forwardedAPI => {
|
||||
expect(Object.keys(forwardedAPI).sort()).toEqual(apiKeys);
|
||||
});
|
||||
}
|
||||
|
||||
it('should define the same scheduling API', () => {
|
||||
const api = require('../../index');
|
||||
const umdAPIDev = require('../../npm/umd/scheduler.development');
|
||||
const umdAPIProd = require('../../npm/umd/scheduler.production.min');
|
||||
const umdAPIProfiling = require('../../npm/umd/scheduler.profiling.min');
|
||||
const secretAPI =
|
||||
require('react/src/forks/ReactSharedInternalsClient.umd').default;
|
||||
validateForwardedAPIs(api, [
|
||||
umdAPIDev,
|
||||
umdAPIProd,
|
||||
umdAPIProfiling,
|
||||
secretAPI.Scheduler,
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
/**
|
||||
* 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.
|
||||
*
|
||||
* @flow
|
||||
*/
|
||||
|
||||
import * as React from 'react';
|
||||
|
||||
const ReactInternals =
|
||||
React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
||||
|
||||
const {
|
||||
unstable_cancelCallback,
|
||||
unstable_now,
|
||||
unstable_scheduleCallback,
|
||||
unstable_shouldYield,
|
||||
unstable_requestPaint,
|
||||
unstable_getFirstCallbackNode,
|
||||
unstable_runWithPriority,
|
||||
unstable_next,
|
||||
unstable_continueExecution,
|
||||
unstable_pauseExecution,
|
||||
unstable_getCurrentPriorityLevel,
|
||||
unstable_ImmediatePriority,
|
||||
unstable_UserBlockingPriority,
|
||||
unstable_NormalPriority,
|
||||
unstable_LowPriority,
|
||||
unstable_IdlePriority,
|
||||
unstable_forceFrameRate,
|
||||
|
||||
// this doesn't actually exist on the scheduler, but it *does*
|
||||
// on scheduler/unstable_mock, which we'll need inside act()
|
||||
// and for internal testing
|
||||
unstable_flushAllWithoutAsserting,
|
||||
log,
|
||||
unstable_setDisableYieldValue,
|
||||
} = ((ReactInternals: any).Scheduler: any);
|
||||
|
||||
export {
|
||||
unstable_cancelCallback,
|
||||
unstable_now,
|
||||
unstable_scheduleCallback,
|
||||
unstable_shouldYield,
|
||||
unstable_requestPaint,
|
||||
unstable_getFirstCallbackNode,
|
||||
unstable_runWithPriority,
|
||||
unstable_next,
|
||||
unstable_continueExecution,
|
||||
unstable_pauseExecution,
|
||||
unstable_getCurrentPriorityLevel,
|
||||
unstable_ImmediatePriority,
|
||||
unstable_UserBlockingPriority,
|
||||
unstable_NormalPriority,
|
||||
unstable_LowPriority,
|
||||
unstable_IdlePriority,
|
||||
unstable_forceFrameRate,
|
||||
unstable_flushAllWithoutAsserting,
|
||||
log,
|
||||
unstable_setDisableYieldValue,
|
||||
};
|
||||
|
|
@ -10,7 +10,6 @@
|
|||
/* eslint-disable */
|
||||
|
||||
declare const __PROFILE__: boolean;
|
||||
declare const __UMD__: boolean;
|
||||
declare const __EXPERIMENTAL__: boolean;
|
||||
declare const __VARIANT__: boolean;
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ global.__DEV__ = NODE_ENV === 'development';
|
|||
global.__EXTENSION__ = false;
|
||||
global.__TEST__ = NODE_ENV === 'test';
|
||||
global.__PROFILE__ = NODE_ENV === 'development';
|
||||
global.__UMD__ = false;
|
||||
|
||||
const RELEASE_CHANNEL = process.env.RELEASE_CHANNEL;
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
const rollup = require('rollup');
|
||||
const babel = require('@rollup/plugin-babel').babel;
|
||||
const closure = require('./plugins/closure-plugin');
|
||||
const commonjs = require('@rollup/plugin-commonjs');
|
||||
const flowRemoveTypes = require('flow-remove-types');
|
||||
const prettier = require('rollup-plugin-prettier');
|
||||
const replace = require('@rollup/plugin-replace');
|
||||
|
|
@ -48,9 +47,6 @@ const {
|
|||
NODE_ES2015,
|
||||
ESM_DEV,
|
||||
ESM_PROD,
|
||||
UMD_DEV,
|
||||
UMD_PROD,
|
||||
UMD_PROFILING,
|
||||
NODE_DEV,
|
||||
NODE_PROD,
|
||||
NODE_PROFILING,
|
||||
|
|
@ -228,10 +224,6 @@ function getRollupOutputOptions(
|
|||
|
||||
function getFormat(bundleType) {
|
||||
switch (bundleType) {
|
||||
case UMD_DEV:
|
||||
case UMD_PROD:
|
||||
case UMD_PROFILING:
|
||||
return `umd`;
|
||||
case NODE_ES2015:
|
||||
case NODE_DEV:
|
||||
case NODE_PROD:
|
||||
|
|
@ -261,7 +253,6 @@ function isProductionBundleType(bundleType) {
|
|||
case NODE_ES2015:
|
||||
return true;
|
||||
case ESM_DEV:
|
||||
case UMD_DEV:
|
||||
case NODE_DEV:
|
||||
case BUN_DEV:
|
||||
case FB_WWW_DEV:
|
||||
|
|
@ -269,10 +260,8 @@ function isProductionBundleType(bundleType) {
|
|||
case RN_FB_DEV:
|
||||
return false;
|
||||
case ESM_PROD:
|
||||
case UMD_PROD:
|
||||
case NODE_PROD:
|
||||
case BUN_PROD:
|
||||
case UMD_PROFILING:
|
||||
case NODE_PROFILING:
|
||||
case FB_WWW_PROD:
|
||||
case FB_WWW_PROFILING:
|
||||
|
|
@ -302,15 +291,12 @@ function isProfilingBundleType(bundleType) {
|
|||
case RN_OSS_PROD:
|
||||
case ESM_DEV:
|
||||
case ESM_PROD:
|
||||
case UMD_DEV:
|
||||
case UMD_PROD:
|
||||
case BROWSER_SCRIPT:
|
||||
return false;
|
||||
case FB_WWW_PROFILING:
|
||||
case NODE_PROFILING:
|
||||
case RN_FB_PROFILING:
|
||||
case RN_OSS_PROFILING:
|
||||
case UMD_PROFILING:
|
||||
return true;
|
||||
default:
|
||||
throw new Error(`Unknown type: ${bundleType}`);
|
||||
|
|
@ -318,10 +304,6 @@ function isProfilingBundleType(bundleType) {
|
|||
}
|
||||
|
||||
function getBundleTypeFlags(bundleType) {
|
||||
const isUMDBundle =
|
||||
bundleType === UMD_DEV ||
|
||||
bundleType === UMD_PROD ||
|
||||
bundleType === UMD_PROFILING;
|
||||
const isFBWWWBundle =
|
||||
bundleType === FB_WWW_DEV ||
|
||||
bundleType === FB_WWW_PROD ||
|
||||
|
|
@ -341,17 +323,10 @@ function getBundleTypeFlags(bundleType) {
|
|||
|
||||
const shouldStayReadable = isFBWWWBundle || isRNBundle || forcePrettyOutput;
|
||||
|
||||
const shouldBundleDependencies =
|
||||
bundleType === UMD_DEV ||
|
||||
bundleType === UMD_PROD ||
|
||||
bundleType === UMD_PROFILING;
|
||||
|
||||
return {
|
||||
isUMDBundle,
|
||||
isFBWWWBundle,
|
||||
isRNBundle,
|
||||
isFBRNBundle,
|
||||
shouldBundleDependencies,
|
||||
shouldStayReadable,
|
||||
};
|
||||
}
|
||||
|
|
@ -387,7 +362,7 @@ function getPlugins(
|
|||
const isProduction = isProductionBundleType(bundleType);
|
||||
const isProfiling = isProfilingBundleType(bundleType);
|
||||
|
||||
const {isUMDBundle, shouldStayReadable} = getBundleTypeFlags(bundleType);
|
||||
const {shouldStayReadable} = getBundleTypeFlags(bundleType);
|
||||
|
||||
const needsMinifiedByClosure = isProduction && bundleType !== ESM_PROD;
|
||||
|
||||
|
|
@ -403,14 +378,12 @@ function getPlugins(
|
|||
// Generate sourcemaps for true "production" build artifacts
|
||||
// that will be used by bundlers, such as `react-dom.production.min.js`.
|
||||
// Also include profiling builds as well.
|
||||
// UMD builds are rarely used and not worth having sourcemaps.
|
||||
const needsSourcemaps =
|
||||
needsMinifiedByClosure &&
|
||||
// This will only exclude `unstable_server-external-runtime.js` artifact
|
||||
// To start generating sourcemaps for it, we should stop manually copying it to `facebook-www`
|
||||
// and force `react-dom` to include .map files in npm-package at the root level
|
||||
bundleType !== BROWSER_SCRIPT &&
|
||||
!isUMDBundle &&
|
||||
!sourcemapPackageExcludes.includes(entry) &&
|
||||
!shouldStayReadable;
|
||||
|
||||
|
|
@ -463,17 +436,12 @@ function getPlugins(
|
|||
values: {
|
||||
__DEV__: isProduction ? 'false' : 'true',
|
||||
__PROFILE__: isProfiling || !isProduction ? 'true' : 'false',
|
||||
__UMD__: isUMDBundle ? 'true' : 'false',
|
||||
'process.env.NODE_ENV': isProduction
|
||||
? "'production'"
|
||||
: "'development'",
|
||||
__EXPERIMENTAL__,
|
||||
},
|
||||
}),
|
||||
// The CommonJS plugin *only* exists to pull "art" into "react-art".
|
||||
// I'm going to port "art" to ES modules to avoid this problem.
|
||||
// Please don't enable this for anything else!
|
||||
isUMDBundle && entry === 'react-art' && commonjs(),
|
||||
{
|
||||
name: 'top-level-definitions',
|
||||
renderChunk(source) {
|
||||
|
|
@ -530,7 +498,7 @@ function getPlugins(
|
|||
|
||||
// Don't let it create global variables in the browser.
|
||||
// https://github.com/facebook/react/issues/10909
|
||||
assume_function_wrapper: !isUMDBundle,
|
||||
assume_function_wrapper: true,
|
||||
renaming: !shouldStayReadable,
|
||||
},
|
||||
{needsSourcemaps}
|
||||
|
|
@ -733,8 +701,7 @@ async function createBundle(bundle, bundleType) {
|
|||
const format = getFormat(bundleType);
|
||||
const packageName = Packaging.getPackageName(bundle.entry);
|
||||
|
||||
const {isFBWWWBundle, isFBRNBundle, shouldBundleDependencies} =
|
||||
getBundleTypeFlags(bundleType);
|
||||
const {isFBWWWBundle, isFBRNBundle} = getBundleTypeFlags(bundleType);
|
||||
|
||||
let resolvedEntry = resolveEntryFork(
|
||||
require.resolve(bundle.entry),
|
||||
|
|
@ -743,10 +710,9 @@ async function createBundle(bundle, bundleType) {
|
|||
|
||||
const peerGlobals = Modules.getPeerGlobals(bundle.externals, bundleType);
|
||||
let externals = Object.keys(peerGlobals);
|
||||
if (!shouldBundleDependencies) {
|
||||
const deps = Modules.getDependencies(bundleType, bundle.entry);
|
||||
externals = externals.concat(deps);
|
||||
}
|
||||
|
||||
const deps = Modules.getDependencies(bundleType, bundle.entry);
|
||||
externals = externals.concat(deps);
|
||||
|
||||
const importSideEffects = Modules.getImportSideEffects();
|
||||
const pureExternalModules = Object.keys(importSideEffects).filter(
|
||||
|
|
@ -763,7 +729,7 @@ async function createBundle(bundle, bundleType) {
|
|||
external(id) {
|
||||
const containsThisModule = pkg => id === pkg || id.startsWith(pkg + '/');
|
||||
const isProvidedByDependency = externals.some(containsThisModule);
|
||||
if (!shouldBundleDependencies && isProvidedByDependency) {
|
||||
if (isProvidedByDependency) {
|
||||
if (id.indexOf('/src/') !== -1) {
|
||||
throw Error(
|
||||
'You are trying to import ' +
|
||||
|
|
@ -931,9 +897,6 @@ async function buildEverything() {
|
|||
[bundle, NODE_ES2015],
|
||||
[bundle, ESM_DEV],
|
||||
[bundle, ESM_PROD],
|
||||
[bundle, UMD_DEV],
|
||||
[bundle, UMD_PROD],
|
||||
[bundle, UMD_PROFILING],
|
||||
[bundle, NODE_DEV],
|
||||
[bundle, NODE_PROD],
|
||||
[bundle, NODE_PROFILING],
|
||||
|
|
|
|||
|
|
@ -11,9 +11,6 @@ const bundleTypes = {
|
|||
NODE_ES2015: 'NODE_ES2015',
|
||||
ESM_DEV: 'ESM_DEV',
|
||||
ESM_PROD: 'ESM_PROD',
|
||||
UMD_DEV: 'UMD_DEV',
|
||||
UMD_PROD: 'UMD_PROD',
|
||||
UMD_PROFILING: 'UMD_PROFILING',
|
||||
NODE_DEV: 'NODE_DEV',
|
||||
NODE_PROD: 'NODE_PROD',
|
||||
NODE_PROFILING: 'NODE_PROFILING',
|
||||
|
|
@ -35,9 +32,6 @@ const {
|
|||
NODE_ES2015,
|
||||
ESM_DEV,
|
||||
ESM_PROD,
|
||||
UMD_DEV,
|
||||
UMD_PROD,
|
||||
UMD_PROFILING,
|
||||
NODE_DEV,
|
||||
NODE_PROD,
|
||||
NODE_PROFILING,
|
||||
|
|
@ -72,9 +66,6 @@ const bundles = [
|
|||
/******* Isomorphic *******/
|
||||
{
|
||||
bundleTypes: [
|
||||
UMD_DEV,
|
||||
UMD_PROD,
|
||||
UMD_PROFILING,
|
||||
NODE_DEV,
|
||||
NODE_PROD,
|
||||
FB_WWW_DEV,
|
||||
|
|
@ -173,9 +164,6 @@ const bundles = [
|
|||
/******* React DOM *******/
|
||||
{
|
||||
bundleTypes: [
|
||||
UMD_DEV,
|
||||
UMD_PROD,
|
||||
UMD_PROFILING,
|
||||
NODE_DEV,
|
||||
NODE_PROD,
|
||||
NODE_PROFILING,
|
||||
|
|
@ -207,7 +195,7 @@ const bundles = [
|
|||
/******* Test Utils *******/
|
||||
{
|
||||
moduleType: RENDERER_UTILS,
|
||||
bundleTypes: [FB_WWW_DEV, NODE_DEV, NODE_PROD, UMD_DEV, UMD_PROD],
|
||||
bundleTypes: [FB_WWW_DEV, NODE_DEV, NODE_PROD],
|
||||
entry: 'react-dom/test-utils',
|
||||
global: 'ReactTestUtils',
|
||||
minifyWithProdErrorCodes: false,
|
||||
|
|
@ -230,14 +218,7 @@ const bundles = [
|
|||
|
||||
/******* React DOM Server *******/
|
||||
{
|
||||
bundleTypes: [
|
||||
UMD_DEV,
|
||||
UMD_PROD,
|
||||
NODE_DEV,
|
||||
NODE_PROD,
|
||||
FB_WWW_DEV,
|
||||
FB_WWW_PROD,
|
||||
],
|
||||
bundleTypes: [NODE_DEV, NODE_PROD, FB_WWW_DEV, FB_WWW_PROD],
|
||||
moduleType: RENDERER,
|
||||
entry: 'react-dom/src/server/ReactDOMLegacyServerBrowser.js',
|
||||
name: 'react-dom-server-legacy.browser',
|
||||
|
|
@ -270,7 +251,7 @@ const bundles = [
|
|||
|
||||
/******* React DOM Fizz Server *******/
|
||||
{
|
||||
bundleTypes: [NODE_DEV, NODE_PROD, UMD_DEV, UMD_PROD],
|
||||
bundleTypes: [NODE_DEV, NODE_PROD],
|
||||
moduleType: RENDERER,
|
||||
entry: 'react-dom/src/server/react-dom-server.browser.js',
|
||||
name: 'react-dom-server.browser',
|
||||
|
|
@ -339,7 +320,7 @@ const bundles = [
|
|||
|
||||
/******* React DOM Server Render Stub *******/
|
||||
{
|
||||
bundleTypes: [NODE_DEV, NODE_PROD, UMD_DEV, UMD_PROD],
|
||||
bundleTypes: [NODE_DEV, NODE_PROD],
|
||||
moduleType: RENDERER,
|
||||
entry: 'react-dom/server-rendering-stub',
|
||||
name: 'react-dom-server-rendering-stub',
|
||||
|
|
@ -351,7 +332,7 @@ const bundles = [
|
|||
|
||||
/******* React Server DOM Webpack Server *******/
|
||||
{
|
||||
bundleTypes: [NODE_DEV, NODE_PROD, UMD_DEV, UMD_PROD],
|
||||
bundleTypes: [NODE_DEV, NODE_PROD],
|
||||
moduleType: RENDERER,
|
||||
entry: 'react-server-dom-webpack/server.browser',
|
||||
condition: 'react-server',
|
||||
|
|
@ -393,7 +374,7 @@ const bundles = [
|
|||
|
||||
/******* React Server DOM Webpack Client *******/
|
||||
{
|
||||
bundleTypes: [NODE_DEV, NODE_PROD, UMD_DEV, UMD_PROD],
|
||||
bundleTypes: [NODE_DEV, NODE_PROD],
|
||||
moduleType: RENDERER,
|
||||
entry: 'react-server-dom-webpack/client.browser',
|
||||
global: 'ReactServerDOMClient',
|
||||
|
|
@ -467,7 +448,7 @@ const bundles = [
|
|||
|
||||
/******* React Server DOM Turbopack Server *******/
|
||||
{
|
||||
bundleTypes: [NODE_DEV, NODE_PROD, UMD_DEV, UMD_PROD],
|
||||
bundleTypes: [NODE_DEV, NODE_PROD],
|
||||
moduleType: RENDERER,
|
||||
entry: 'react-server-dom-turbopack/server.browser',
|
||||
condition: 'react-server',
|
||||
|
|
@ -509,7 +490,7 @@ const bundles = [
|
|||
|
||||
/******* React Server DOM Turbopack Client *******/
|
||||
{
|
||||
bundleTypes: [NODE_DEV, NODE_PROD, UMD_DEV, UMD_PROD],
|
||||
bundleTypes: [NODE_DEV, NODE_PROD],
|
||||
moduleType: RENDERER,
|
||||
entry: 'react-server-dom-turbopack/client.browser',
|
||||
global: 'ReactServerDOMClient',
|
||||
|
|
@ -651,14 +632,7 @@ const bundles = [
|
|||
|
||||
/******* React ART *******/
|
||||
{
|
||||
bundleTypes: [
|
||||
UMD_DEV,
|
||||
UMD_PROD,
|
||||
NODE_DEV,
|
||||
NODE_PROD,
|
||||
FB_WWW_DEV,
|
||||
FB_WWW_PROD,
|
||||
],
|
||||
bundleTypes: [NODE_DEV, NODE_PROD, FB_WWW_DEV, FB_WWW_PROD],
|
||||
moduleType: RENDERER,
|
||||
entry: 'react-art',
|
||||
global: 'ReactART',
|
||||
|
|
@ -752,8 +726,6 @@ const bundles = [
|
|||
FB_WWW_DEV,
|
||||
NODE_DEV,
|
||||
NODE_PROD,
|
||||
UMD_DEV,
|
||||
UMD_PROD,
|
||||
RN_FB_DEV,
|
||||
RN_FB_PROD,
|
||||
RN_FB_PROFILING,
|
||||
|
|
@ -917,8 +889,6 @@ const bundles = [
|
|||
NODE_PROD,
|
||||
FB_WWW_DEV,
|
||||
FB_WWW_PROD,
|
||||
UMD_DEV,
|
||||
UMD_PROD,
|
||||
RN_FB_DEV,
|
||||
RN_FB_PROD,
|
||||
RN_FB_PROFILING,
|
||||
|
|
@ -1044,8 +1014,6 @@ const bundles = [
|
|||
/******* React Scheduler Mock (experimental) *******/
|
||||
{
|
||||
bundleTypes: [
|
||||
UMD_DEV,
|
||||
UMD_PROD,
|
||||
NODE_DEV,
|
||||
NODE_PROD,
|
||||
FB_WWW_DEV,
|
||||
|
|
@ -1172,12 +1140,6 @@ function getFilename(bundle, bundleType) {
|
|||
return `${name}.development.js`;
|
||||
case ESM_PROD:
|
||||
return `${name}.production.min.js`;
|
||||
case UMD_DEV:
|
||||
return `${name}.development.js`;
|
||||
case UMD_PROD:
|
||||
return `${name}.production.min.js`;
|
||||
case UMD_PROFILING:
|
||||
return `${name}.profiling.min.js`;
|
||||
case NODE_DEV:
|
||||
return `${name}.development.js`;
|
||||
case NODE_PROD:
|
||||
|
|
|
|||
|
|
@ -5,9 +5,6 @@ const {bundleTypes, moduleTypes} = require('./bundles');
|
|||
const inlinedHostConfigs = require('../shared/inlinedHostConfigs');
|
||||
|
||||
const {
|
||||
UMD_DEV,
|
||||
UMD_PROD,
|
||||
UMD_PROFILING,
|
||||
FB_WWW_DEV,
|
||||
FB_WWW_PROD,
|
||||
FB_WWW_PROFILING,
|
||||
|
|
@ -188,25 +185,6 @@ const forks = Object.freeze({
|
|||
return null;
|
||||
},
|
||||
|
||||
'./packages/scheduler/index.js': (bundleType, entry, dependencies) => {
|
||||
switch (bundleType) {
|
||||
case UMD_DEV:
|
||||
case UMD_PROD:
|
||||
case UMD_PROFILING:
|
||||
if (dependencies.indexOf('react') === -1) {
|
||||
// It's only safe to use this fork for modules that depend on React,
|
||||
// because they read the re-exported API from the SECRET_INTERNALS object.
|
||||
return null;
|
||||
}
|
||||
// Optimization: for UMDs, use the API that is already a part of the React
|
||||
// package instead of requiring it to be loaded via a separate <script> tag
|
||||
return './packages/shared/forks/Scheduler.umd.js';
|
||||
default:
|
||||
// For other bundles, use the shared NPM package.
|
||||
return null;
|
||||
}
|
||||
},
|
||||
|
||||
'./packages/scheduler/src/SchedulerFeatureFlags.js': (
|
||||
bundleType,
|
||||
entry,
|
||||
|
|
@ -231,17 +209,6 @@ const forks = Object.freeze({
|
|||
}
|
||||
},
|
||||
|
||||
'./packages/react/src/ReactSharedInternalsClient.js': (bundleType, entry) => {
|
||||
switch (bundleType) {
|
||||
case UMD_DEV:
|
||||
case UMD_PROD:
|
||||
case UMD_PROFILING:
|
||||
return './packages/react/src/forks/ReactSharedInternalsClient.umd.js';
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
},
|
||||
|
||||
'./packages/react-reconciler/src/ReactFiberConfig.js': (
|
||||
bundleType,
|
||||
entry,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
const forks = require('./forks');
|
||||
const {UMD_DEV, UMD_PROD, UMD_PROFILING} = require('./bundles').bundleTypes;
|
||||
|
||||
// For any external that is used in a DEV-only condition, explicitly
|
||||
// specify whether it has side effects during import or not. This lets
|
||||
|
|
@ -40,14 +39,6 @@ const knownGlobals = Object.freeze({
|
|||
function getPeerGlobals(externals, bundleType) {
|
||||
const peerGlobals = {};
|
||||
externals.forEach(name => {
|
||||
if (
|
||||
!knownGlobals[name] &&
|
||||
(bundleType === UMD_DEV ||
|
||||
bundleType === UMD_PROD ||
|
||||
bundleType === UMD_PROFILING)
|
||||
) {
|
||||
throw new Error('Cannot build UMD without a global name for: ' + name);
|
||||
}
|
||||
peerGlobals[name] = knownGlobals[name];
|
||||
});
|
||||
return peerGlobals;
|
||||
|
|
|
|||
|
|
@ -21,9 +21,6 @@ const {
|
|||
NODE_ES2015,
|
||||
ESM_DEV,
|
||||
ESM_PROD,
|
||||
UMD_DEV,
|
||||
UMD_PROD,
|
||||
UMD_PROFILING,
|
||||
NODE_DEV,
|
||||
NODE_PROD,
|
||||
NODE_PROFILING,
|
||||
|
|
@ -62,10 +59,6 @@ function getBundleOutputPath(bundle, bundleType, filename, packageName) {
|
|||
case NODE_PROD:
|
||||
case NODE_PROFILING:
|
||||
return `build/node_modules/${packageName}/cjs/${filename}`;
|
||||
case UMD_DEV:
|
||||
case UMD_PROD:
|
||||
case UMD_PROFILING:
|
||||
return `build/node_modules/${packageName}/umd/${filename}`;
|
||||
case FB_WWW_DEV:
|
||||
case FB_WWW_PROD:
|
||||
case FB_WWW_PROFILING:
|
||||
|
|
|
|||
|
|
@ -1,94 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
},
|
||||
globals: {
|
||||
// ES6
|
||||
BigInt: 'readonly',
|
||||
Map: 'readonly',
|
||||
Set: 'readonly',
|
||||
Symbol: 'readonly',
|
||||
Proxy: 'readonly',
|
||||
WeakMap: 'readonly',
|
||||
WeakSet: 'readonly',
|
||||
|
||||
Int8Array: 'readonly',
|
||||
Uint8Array: 'readonly',
|
||||
Uint8ClampedArray: 'readonly',
|
||||
Int16Array: 'readonly',
|
||||
Uint16Array: 'readonly',
|
||||
Int32Array: 'readonly',
|
||||
Uint32Array: 'readonly',
|
||||
Float32Array: 'readonly',
|
||||
Float64Array: 'readonly',
|
||||
BigInt64Array: 'readonly',
|
||||
BigUint64Array: 'readonly',
|
||||
DataView: 'readonly',
|
||||
ArrayBuffer: 'readonly',
|
||||
|
||||
Reflect: 'readonly',
|
||||
globalThis: 'readonly',
|
||||
|
||||
FinalizationRegistry: 'readonly',
|
||||
|
||||
// Vendor specific
|
||||
MSApp: 'readonly',
|
||||
__REACT_DEVTOOLS_GLOBAL_HOOK__: 'readonly',
|
||||
// UMD wrapper code
|
||||
// TODO: this is too permissive.
|
||||
// Ideally we should only allow these *inside* the UMD wrapper.
|
||||
exports: 'readonly',
|
||||
module: 'readonly',
|
||||
define: 'readonly',
|
||||
require: 'readonly',
|
||||
global: 'readonly',
|
||||
// Internet Explorer
|
||||
setImmediate: 'readonly',
|
||||
// Trusted Types
|
||||
trustedTypes: 'readonly',
|
||||
|
||||
// Scheduler profiling
|
||||
TaskController: 'readonly',
|
||||
reportError: 'readonly',
|
||||
AggregateError: 'readonly',
|
||||
|
||||
// Flight
|
||||
Promise: 'readonly',
|
||||
|
||||
// Node Feature Detection
|
||||
process: 'readonly',
|
||||
|
||||
// Temp
|
||||
AsyncLocalStorage: 'readonly',
|
||||
async_hooks: 'readonly',
|
||||
|
||||
// Flight Webpack
|
||||
__webpack_chunk_load__: 'readonly',
|
||||
__webpack_require__: 'readonly',
|
||||
|
||||
// Flight Turbopack
|
||||
__turbopack_load__: 'readonly',
|
||||
__turbopack_require__: 'readonly',
|
||||
|
||||
// jest
|
||||
jest: 'readonly',
|
||||
|
||||
// act
|
||||
IS_REACT_ACT_ENVIRONMENT: 'readonly',
|
||||
},
|
||||
parserOptions: {
|
||||
ecmaVersion: 5,
|
||||
sourceType: 'script',
|
||||
},
|
||||
rules: {
|
||||
'no-undef': 'error',
|
||||
'no-shadow-restricted-names': 'error',
|
||||
},
|
||||
|
||||
// These plugins aren't used, but eslint complains if an eslint-ignore comment
|
||||
// references unused plugins. An alternate approach could be to strip
|
||||
// eslint-ignore comments as part of the build.
|
||||
plugins: ['ft-flow', 'jest', 'no-for-of-loops', 'react', 'react-internal'],
|
||||
};
|
||||
|
|
@ -41,9 +41,6 @@ function getFormat(filepath) {
|
|||
if (filepath.includes('esm')) {
|
||||
return 'esm';
|
||||
}
|
||||
if (filepath.includes('umd')) {
|
||||
return 'umd';
|
||||
}
|
||||
if (
|
||||
filepath.includes('oss-experimental') ||
|
||||
filepath.includes('oss-stable')
|
||||
|
|
|
|||
|
|
@ -9,9 +9,6 @@ const {
|
|||
NODE_ES2015,
|
||||
ESM_DEV,
|
||||
ESM_PROD,
|
||||
UMD_DEV,
|
||||
UMD_PROD,
|
||||
UMD_PROFILING,
|
||||
NODE_DEV,
|
||||
NODE_PROD,
|
||||
NODE_PROFILING,
|
||||
|
|
@ -81,21 +78,6 @@ ${source}`;
|
|||
return source;
|
||||
},
|
||||
|
||||
/***************** UMD_DEV *****************/
|
||||
[UMD_DEV](source, globalName, filename, moduleType) {
|
||||
return source;
|
||||
},
|
||||
|
||||
/***************** UMD_PROD *****************/
|
||||
[UMD_PROD](source, globalName, filename, moduleType) {
|
||||
return `(function(){${source}})();`;
|
||||
},
|
||||
|
||||
/***************** UMD_PROFILING *****************/
|
||||
[UMD_PROFILING](source, globalName, filename, moduleType) {
|
||||
return `(function(){${source}})();`;
|
||||
},
|
||||
|
||||
/***************** NODE_DEV *****************/
|
||||
[NODE_DEV](source, globalName, filename, moduleType) {
|
||||
return `'use strict';
|
||||
|
|
@ -282,42 +264,6 @@ ${source}`;
|
|||
${license}
|
||||
*/
|
||||
|
||||
${source}`;
|
||||
},
|
||||
|
||||
/***************** UMD_DEV *****************/
|
||||
[UMD_DEV](source, globalName, filename, moduleType) {
|
||||
return `/**
|
||||
* @license React
|
||||
* ${filename}
|
||||
*
|
||||
${license}
|
||||
*/
|
||||
|
||||
${source}`;
|
||||
},
|
||||
|
||||
/***************** UMD_PROD *****************/
|
||||
[UMD_PROD](source, globalName, filename, moduleType) {
|
||||
return `/**
|
||||
* @license React
|
||||
* ${filename}
|
||||
*
|
||||
${license}
|
||||
*/
|
||||
|
||||
${source}`;
|
||||
},
|
||||
|
||||
/***************** UMD_PROFILING *****************/
|
||||
[UMD_PROFILING](source, globalName, filename, moduleType) {
|
||||
return `/**
|
||||
* @license React
|
||||
* ${filename}
|
||||
*
|
||||
${license}
|
||||
*/
|
||||
|
||||
${source}`;
|
||||
},
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user