Skip to content

Commit f928095

Browse files
committed
Move Module terminology to Client References
Module is ambiguous since there's both client and server modules. It also actually refers to a specific export name.
1 parent 384fb81 commit f928095

21 files changed

+153
-146
lines changed

packages/react-client/src/ReactFlightClient.js

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import type {LazyComponent} from 'react/src/ReactLazy';
1212

1313
import type {
1414
ClientReference,
15-
ModuleMetaData,
15+
ClientReferenceMetadata,
1616
UninitializedModel,
1717
Response,
1818
BundlerConfig,
@@ -640,16 +640,19 @@ export function resolveModule(
640640
): void {
641641
const chunks = response._chunks;
642642
const chunk = chunks.get(id);
643-
const moduleMetaData: ModuleMetaData = parseModel(response, model);
644-
const moduleReference = resolveClientReference(
643+
const clientReferenceMetadata: ClientReferenceMetadata = parseModel(
644+
response,
645+
model,
646+
);
647+
const clientReference = resolveClientReference(
645648
response._bundlerConfig,
646-
moduleMetaData,
649+
clientReferenceMetadata,
647650
);
648651

649652
// TODO: Add an option to encode modules that are lazy loaded.
650653
// For now we preload all modules as early as possible since it's likely
651654
// that we'll need them.
652-
const promise = preloadModule(moduleReference);
655+
const promise = preloadModule(clientReference);
653656
if (promise) {
654657
let blockedChunk: BlockedChunk<any>;
655658
if (!chunk) {
@@ -664,16 +667,16 @@ export function resolveModule(
664667
blockedChunk.status = BLOCKED;
665668
}
666669
promise.then(
667-
() => resolveModuleChunk(blockedChunk, moduleReference),
670+
() => resolveModuleChunk(blockedChunk, clientReference),
668671
error => triggerErrorOnChunk(blockedChunk, error),
669672
);
670673
} else {
671674
if (!chunk) {
672-
chunks.set(id, createResolvedModuleChunk(response, moduleReference));
675+
chunks.set(id, createResolvedModuleChunk(response, clientReference));
673676
} else {
674677
// This can't actually happen because we don't have any forward
675678
// references to modules.
676-
resolveModuleChunk(chunk, moduleReference);
679+
resolveModuleChunk(chunk, clientReference);
677680
}
678681
}
679682
}

packages/react-client/src/forks/ReactFlightClientHostConfig.custom.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ declare var $$$hostConfig: any;
2727

2828
export type Response = any;
2929
export opaque type BundlerConfig = mixed;
30-
export opaque type ModuleMetaData = mixed;
30+
export opaque type ClientReferenceMetadata = mixed;
3131
export opaque type ClientReference<T> = mixed; // eslint-disable-line no-unused-vars
3232
export const resolveClientReference = $$$hostConfig.resolveClientReference;
3333
export const preloadModule = $$$hostConfig.preloadModule;

packages/react-noop-renderer/src/ReactNoopFlightServer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ const ReactNoopFlightServer = ReactFlightServer({
5757
getClientReferenceKey(reference: Object): Object {
5858
return reference;
5959
},
60-
resolveModuleMetaData(
60+
resolveClientReferenceMetadata(
6161
config: void,
6262
reference: {$$typeof: symbol, value: any},
6363
) {

packages/react-server-dom-relay/src/ReactFlightDOMRelayClientHostConfig.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import type {JSONValue, ResponseBase} from 'react-client/src/ReactFlightClient';
1111

1212
import type {JSResourceReference} from 'JSResourceReference';
1313

14-
import type {ModuleMetaData} from 'ReactFlightDOMRelayClientIntegration';
14+
import type {ClientReferenceMetadata} from 'ReactFlightDOMRelayClientIntegration';
1515

1616
export type ClientReference<T> = JSResourceReference<T>;
1717

@@ -29,7 +29,7 @@ import {resolveClientReference as resolveClientReferenceImpl} from 'ReactFlightD
2929

3030
import isArray from 'shared/isArray';
3131

32-
export type {ModuleMetaData} from 'ReactFlightDOMRelayClientIntegration';
32+
export type {ClientReferenceMetadata} from 'ReactFlightDOMRelayClientIntegration';
3333

3434
export type BundlerConfig = null;
3535

@@ -39,9 +39,9 @@ export type Response = ResponseBase;
3939

4040
export function resolveClientReference<T>(
4141
bundlerConfig: BundlerConfig,
42-
moduleData: ModuleMetaData,
42+
metadata: ClientReferenceMetadata,
4343
): ClientReference<T> {
44-
return resolveClientReferenceImpl(moduleData);
44+
return resolveClientReferenceImpl(metadata);
4545
}
4646

4747
// $FlowFixMe[missing-local-annot]

packages/react-server-dom-relay/src/ReactFlightDOMRelayProtocol.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @flow
88
*/
99

10-
import type {ModuleMetaData} from 'ReactFlightDOMRelayServerIntegration';
10+
import type {ClientReferenceMetadata} from 'ReactFlightDOMRelayServerIntegration';
1111

1212
export type JSONValue =
1313
| string
@@ -19,7 +19,7 @@ export type JSONValue =
1919

2020
export type RowEncoding =
2121
| ['O', number, JSONValue]
22-
| ['I', number, ModuleMetaData]
22+
| ['I', number, ClientReferenceMetadata]
2323
| ['P', number, string]
2424
| ['S', number, string]
2525
| [

packages/react-server-dom-relay/src/ReactFlightDOMRelayServerHostConfig.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,26 @@ import isArray from 'shared/isArray';
1919

2020
export type ClientReference<T> = JSResourceReference<T>;
2121
export type ServerReference<T> = T;
22-
export type ServerReferenceMetaData = {};
22+
export type ServerReferenceMetadata = {};
2323

2424
import type {
2525
Destination,
2626
BundlerConfig,
27-
ModuleMetaData,
27+
ClientReferenceMetadata,
2828
} from 'ReactFlightDOMRelayServerIntegration';
2929

3030
import {resolveModelToJSON} from 'react-server/src/ReactFlightServer';
3131

3232
import {
3333
emitRow,
34-
resolveModuleMetaData as resolveModuleMetaDataImpl,
34+
resolveClientReferenceMetadata as resolveClientReferenceMetadataImpl,
3535
close,
3636
} from 'ReactFlightDOMRelayServerIntegration';
3737

3838
export type {
3939
Destination,
4040
BundlerConfig,
41-
ModuleMetaData,
41+
ClientReferenceMetadata,
4242
} from 'ReactFlightDOMRelayServerIntegration';
4343

4444
export function isClientReference(reference: Object): boolean {
@@ -59,17 +59,17 @@ export function getClientReferenceKey(
5959
return reference;
6060
}
6161

62-
export function resolveModuleMetaData<T>(
62+
export function resolveClientReferenceMetadata<T>(
6363
config: BundlerConfig,
6464
resource: ClientReference<T>,
65-
): ModuleMetaData {
66-
return resolveModuleMetaDataImpl(config, resource);
65+
): ClientReferenceMetadata {
66+
return resolveClientReferenceMetadataImpl(config, resource);
6767
}
6868

69-
export function resolveServerReferenceMetaData<T>(
69+
export function resolveServerReferenceMetadata<T>(
7070
config: BundlerConfig,
7171
resource: ServerReference<T>,
72-
): ServerReferenceMetaData {
72+
): ServerReferenceMetadata {
7373
throw new Error('Not implemented.');
7474
}
7575

@@ -175,13 +175,13 @@ export function processReferenceChunk(
175175
return ['O', id, reference];
176176
}
177177

178-
export function processModuleChunk(
178+
export function processImportChunk(
179179
request: Request,
180180
id: number,
181-
moduleMetaData: ModuleMetaData,
181+
clientReferenceMetadata: ClientReferenceMetadata,
182182
): Chunk {
183-
// The moduleMetaData is already a JSON serializable value.
184-
return ['I', id, moduleMetaData];
183+
// The clientReferenceMetadata is already a JSON serializable value.
184+
return ['I', id, clientReferenceMetadata];
185185
}
186186

187187
export function scheduleWork(callback: () => void) {

packages/react-server-dom-relay/src/__mocks__/ReactFlightDOMRelayClientIntegration.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
import JSResourceReferenceImpl from 'JSResourceReferenceImpl';
1111

1212
const ReactFlightDOMRelayClientIntegration = {
13-
resolveClientReference(moduleData) {
14-
return new JSResourceReferenceImpl(moduleData);
13+
resolveClientReference(metadata) {
14+
return new JSResourceReferenceImpl(metadata);
1515
},
16-
preloadModule(moduleReference) {},
17-
requireModule(moduleReference) {
18-
return moduleReference._moduleId;
16+
preloadModule(clientReference) {},
17+
requireModule(clientReference) {
18+
return clientReference._moduleId;
1919
},
2020
};
2121

packages/react-server-dom-relay/src/__mocks__/ReactFlightDOMRelayServerIntegration.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const ReactFlightDOMRelayServerIntegration = {
1212
destination.push(json);
1313
},
1414
close(destination) {},
15-
resolveModuleMetaData(config, resource) {
15+
resolveClientReferenceMetadata(config, resource) {
1616
return resource._moduleId;
1717
},
1818
};

packages/react-server-dom-webpack/src/ReactFlightClientWebpackBundlerConfig.js

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,29 @@ import type {
1515

1616
export type WebpackSSRMap = {
1717
[clientId: string]: {
18-
[clientExportName: string]: ModuleMetaData,
18+
[clientExportName: string]: ClientReferenceMetadata,
1919
},
2020
};
2121

2222
export type BundlerConfig = null | WebpackSSRMap;
2323

24-
export opaque type ModuleMetaData = {
24+
export opaque type ClientReferenceMetadata = {
2525
id: string,
2626
chunks: Array<string>,
2727
name: string,
2828
async: boolean,
2929
};
3030

3131
// eslint-disable-next-line no-unused-vars
32-
export opaque type ClientReference<T> = ModuleMetaData;
32+
export opaque type ClientReference<T> = ClientReferenceMetadata;
3333

3434
export function resolveClientReference<T>(
3535
bundlerConfig: BundlerConfig,
36-
moduleData: ModuleMetaData,
36+
metadata: ClientReferenceMetadata,
3737
): ClientReference<T> {
3838
if (bundlerConfig) {
39-
const resolvedModuleData = bundlerConfig[moduleData.id][moduleData.name];
40-
if (moduleData.async) {
39+
const resolvedModuleData = bundlerConfig[metadata.id][metadata.name];
40+
if (metadata.async) {
4141
return {
4242
id: resolvedModuleData.id,
4343
chunks: resolvedModuleData.chunks,
@@ -48,7 +48,7 @@ export function resolveClientReference<T>(
4848
return resolvedModuleData;
4949
}
5050
}
51-
return moduleData;
51+
return metadata;
5252
}
5353

5454
// The chunk cache contains all the chunks we've preloaded so far.
@@ -64,9 +64,9 @@ function ignoreReject() {
6464
// Start preloading the modules since we might need them soon.
6565
// This function doesn't suspend.
6666
export function preloadModule<T>(
67-
moduleData: ClientReference<T>,
67+
metadata: ClientReference<T>,
6868
): null | Thenable<any> {
69-
const chunks = moduleData.chunks;
69+
const chunks = metadata.chunks;
7070
const promises = [];
7171
for (let i = 0; i < chunks.length; i++) {
7272
const chunkId = chunks[i];
@@ -82,16 +82,16 @@ export function preloadModule<T>(
8282
promises.push(entry);
8383
}
8484
}
85-
if (moduleData.async) {
86-
const existingPromise = asyncModuleCache.get(moduleData.id);
85+
if (metadata.async) {
86+
const existingPromise = asyncModuleCache.get(metadata.id);
8787
if (existingPromise) {
8888
if (existingPromise.status === 'fulfilled') {
8989
return null;
9090
}
9191
return existingPromise;
9292
} else {
9393
const modulePromise: Thenable<T> = Promise.all(promises).then(() => {
94-
return __webpack_require__(moduleData.id);
94+
return __webpack_require__(metadata.id);
9595
});
9696
modulePromise.then(
9797
value => {
@@ -107,7 +107,7 @@ export function preloadModule<T>(
107107
rejectedThenable.reason = reason;
108108
},
109109
);
110-
asyncModuleCache.set(moduleData.id, modulePromise);
110+
asyncModuleCache.set(metadata.id, modulePromise);
111111
return modulePromise;
112112
}
113113
} else if (promises.length > 0) {
@@ -119,29 +119,29 @@ export function preloadModule<T>(
119119

120120
// Actually require the module or suspend if it's not yet ready.
121121
// Increase priority if necessary.
122-
export function requireModule<T>(moduleData: ClientReference<T>): T {
122+
export function requireModule<T>(metadata: ClientReference<T>): T {
123123
let moduleExports;
124-
if (moduleData.async) {
124+
if (metadata.async) {
125125
// We assume that preloadModule has been called before, which
126126
// should have added something to the module cache.
127-
const promise: any = asyncModuleCache.get(moduleData.id);
127+
const promise: any = asyncModuleCache.get(metadata.id);
128128
if (promise.status === 'fulfilled') {
129129
moduleExports = promise.value;
130130
} else {
131131
throw promise.reason;
132132
}
133133
} else {
134-
moduleExports = __webpack_require__(moduleData.id);
134+
moduleExports = __webpack_require__(metadata.id);
135135
}
136-
if (moduleData.name === '*') {
136+
if (metadata.name === '*') {
137137
// This is a placeholder value that represents that the caller imported this
138138
// as a CommonJS module as is.
139139
return moduleExports;
140140
}
141-
if (moduleData.name === '') {
141+
if (metadata.name === '') {
142142
// This is a placeholder value that represents that the caller accessed the
143143
// default property of this if it was an ESM interop module.
144144
return moduleExports.__esModule ? moduleExports.default : moduleExports;
145145
}
146-
return moduleExports[moduleData.name];
146+
return moduleExports[metadata.name];
147147
}

packages/react-server-dom-webpack/src/ReactFlightServerWebpackBundlerConfig.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import type {ReactModel} from 'react-server/src/ReactFlightServer';
1111

1212
type WebpackMap = {
1313
[filepath: string]: {
14-
[name: string]: ModuleMetaData,
14+
[name: string]: ClientReferenceMetadata,
1515
},
1616
};
1717

@@ -24,7 +24,7 @@ export type ServerReference<T: Function> = T & {
2424
$$bound: Array<ReactModel>,
2525
};
2626

27-
export type ServerReferenceMetaData = {
27+
export type ServerReferenceMetadata = {
2828
id: string,
2929
name: string,
3030
bound: Promise<Array<ReactModel>>,
@@ -38,7 +38,7 @@ export type ClientReference<T> = {
3838
async: boolean,
3939
};
4040

41-
export type ModuleMetaData = {
41+
export type ClientReferenceMetadata = {
4242
id: string,
4343
chunks: Array<string>,
4444
name: string,
@@ -69,10 +69,10 @@ export function isServerReference(reference: Object): boolean {
6969
return reference.$$typeof === SERVER_REFERENCE_TAG;
7070
}
7171

72-
export function resolveModuleMetaData<T>(
72+
export function resolveClientReferenceMetadata<T>(
7373
config: BundlerConfig,
7474
clientReference: ClientReference<T>,
75-
): ModuleMetaData {
75+
): ClientReferenceMetadata {
7676
const resolvedModuleData =
7777
config[clientReference.filepath][clientReference.name];
7878
if (clientReference.async) {
@@ -87,10 +87,10 @@ export function resolveModuleMetaData<T>(
8787
}
8888
}
8989

90-
export function resolveServerReferenceMetaData<T>(
90+
export function resolveServerReferenceMetadata<T>(
9191
config: BundlerConfig,
9292
serverReference: ServerReference<T>,
93-
): ServerReferenceMetaData {
93+
): ServerReferenceMetadata {
9494
return {
9595
id: serverReference.$$filepath,
9696
name: serverReference.$$name,

0 commit comments

Comments
 (0)