Skip to content

Commit 55cc921

Browse files
authored
Adds react-events package for internal testing (#15150)
* Adds react-events package for internal testing
1 parent 7ad7386 commit 55cc921

File tree

9 files changed

+129
-1
lines changed

9 files changed

+129
-1
lines changed

packages/react-events/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# `react-events`
2+
3+
This is package is intended for use with the experimental React events API.

packages/react-events/index.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/**
2+
* Copyright (c) Facebook, Inc. and its affiliates.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*
7+
* @flow
8+
*/
9+
10+
'use strict';
11+
12+
const ReactEvents = require('./src/ReactEvents');
13+
14+
// TODO: decide on the top-level export form.
15+
// This is hacky but makes it work with both Rollup and Jest.
16+
module.exports = ReactEvents.default || ReactEvents;

packages/react-events/npm/index.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
'use strict';
2+
3+
if (process.env.NODE_ENV === 'production') {
4+
module.exports = require('./cjs/react-events.production.min.js');
5+
} else {
6+
module.exports = require('./cjs/react-events.development.js');
7+
}

packages/react-events/package.json

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"name": "react-events",
3+
"description": "React is a JavaScript library for building user interfaces.",
4+
"keywords": [
5+
"react"
6+
],
7+
"version": "0.1.0",
8+
"homepage": "https://reactjs.org/",
9+
"bugs": "https://github.com/facebook/react/issues",
10+
"license": "MIT",
11+
"files": [
12+
"LICENSE",
13+
"README.md",
14+
"build-info.json",
15+
"cjs/",
16+
"umd/"
17+
],
18+
"main": "index.js",
19+
"repository": {
20+
"type": "git",
21+
"url": "https://github.com/facebook/react.git",
22+
"directory": "packages/react"
23+
},
24+
"engines": {
25+
"node": ">=0.10.0"
26+
},
27+
"dependencies": {
28+
"loose-envify": "^1.1.0"
29+
},
30+
"browserify": {
31+
"transform": [
32+
"loose-envify"
33+
]
34+
}
35+
}
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* Copyright (c) Facebook, Inc. and its affiliates.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*
7+
* @flow
8+
*/
9+
10+
import {
11+
REACT_EVENT_TARGET_TYPE,
12+
REACT_EVENT_TARGET_TOUCH_HIT,
13+
} from 'shared/ReactSymbols';
14+
import type {ReactEventTarget} from 'shared/ReactTypes';
15+
16+
const TouchHitTarget: ReactEventTarget = {
17+
$$typeof: REACT_EVENT_TARGET_TYPE,
18+
type: REACT_EVENT_TARGET_TOUCH_HIT,
19+
};
20+
21+
const ReactEvents = {
22+
TouchHitTarget,
23+
};
24+
25+
export default ReactEvents;

packages/shared/ReactSymbols.js

+5
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ export const REACT_EVENT_TARGET_TYPE = hasSymbol
5353
? Symbol.for('react.event_target')
5454
: 0xead6;
5555

56+
// React event targets
57+
export const REACT_EVENT_TARGET_TOUCH_HIT = hasSymbol
58+
? Symbol.for('react.event_target.touch_hit')
59+
: 0xead7;
60+
5661
const MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
5762
const FAUX_ITERATOR_SYMBOL = '@@iterator';
5863

packages/shared/ReactTypes.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,5 @@ export type ReactEvent = {|
9595

9696
export type ReactEventTarget = {|
9797
$$typeof: Symbol | number,
98-
type: string,
98+
type: Symbol | number,
9999
|};

scripts/rollup/bundles.js

+9
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,15 @@ const bundles = [
461461
global: 'SchedulerTracing',
462462
externals: [],
463463
},
464+
465+
/******* React Events (experimental) *******/
466+
{
467+
bundleTypes: [NODE_DEV, NODE_PROD, FB_WWW_DEV, FB_WWW_PROD],
468+
moduleType: ISOMORPHIC,
469+
entry: 'react-events',
470+
global: 'ReactEvents',
471+
externals: [],
472+
},
464473
];
465474

466475
// Based on deep-freeze by substack (public domain)

scripts/rollup/results.json

+28
Original file line numberDiff line numberDiff line change
@@ -1147,6 +1147,34 @@
11471147
"packageName": "scheduler",
11481148
"size": 12088,
11491149
"gzip": 2473
1150+
},
1151+
{
1152+
"filename": "react-events.development.js",
1153+
"bundleType": "NODE_DEV",
1154+
"packageName": "react-events",
1155+
"size": 1135,
1156+
"gzip": 623
1157+
},
1158+
{
1159+
"filename": "react-events.production.min.js",
1160+
"bundleType": "NODE_PROD",
1161+
"packageName": "react-events",
1162+
"size": 448,
1163+
"gzip": 328
1164+
},
1165+
{
1166+
"filename": "ReactEvents-dev.js",
1167+
"bundleType": "FB_WWW_DEV",
1168+
"packageName": "react-events",
1169+
"size": 1106,
1170+
"gzip": 613
1171+
},
1172+
{
1173+
"filename": "ReactEvents-prod.js",
1174+
"bundleType": "FB_WWW_PROD",
1175+
"packageName": "react-events",
1176+
"size": 643,
1177+
"gzip": 377
11501178
}
11511179
]
11521180
}

0 commit comments

Comments
 (0)