mirror of https://github.com/status-im/metro.git
Use Delta Bundler to get all bundle assets
Reviewed By: mjesun Differential Revision: D6255563 fbshipit-source-id: fe08021ef6be8528ddcbb553be62e8a8cf2bcf0a
This commit is contained in:
parent
d4dcd4c6fa
commit
8fe2d588bc
|
@ -599,7 +599,7 @@ class Server {
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
_processAssetsRequest(req: IncomingMessage, res: ServerResponse) {
|
_processSingleAssetRequest(req: IncomingMessage, res: ServerResponse) {
|
||||||
const urlObj = url.parse(decodeURI(req.url), true);
|
const urlObj = url.parse(decodeURI(req.url), true);
|
||||||
/* $FlowFixMe: could be empty if the url is invalid */
|
/* $FlowFixMe: could be empty if the url is invalid */
|
||||||
const assetPath: string = urlObj.pathname.match(/^\/assets\/(.+)$/);
|
const assetPath: string = urlObj.pathname.match(/^\/assets\/(.+)$/);
|
||||||
|
@ -835,7 +835,7 @@ class Server {
|
||||||
this._processOnChangeRequest(req, res);
|
this._processOnChangeRequest(req, res);
|
||||||
return;
|
return;
|
||||||
} else if (pathname.match(/^\/assets\//)) {
|
} else if (pathname.match(/^\/assets\//)) {
|
||||||
this._processAssetsRequest(req, res);
|
this._processSingleAssetRequest(req, res);
|
||||||
return;
|
return;
|
||||||
} else if (pathname === '/symbolicate') {
|
} else if (pathname === '/symbolicate') {
|
||||||
this._symbolicate(req, res);
|
this._symbolicate(req, res);
|
||||||
|
@ -856,6 +856,9 @@ class Server {
|
||||||
} else if (requestType === 'map') {
|
} else if (requestType === 'map') {
|
||||||
await this._processSourceMapUsingDeltaBundler(req, res);
|
await this._processSourceMapUsingDeltaBundler(req, res);
|
||||||
return;
|
return;
|
||||||
|
} else if (requestType === 'assets') {
|
||||||
|
await this._processAssetsRequest(req, res);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1149,6 +1152,50 @@ class Server {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async _processAssetsRequest(req: IncomingMessage, res: ServerResponse) {
|
||||||
|
const mres = MultipartResponse.wrap(req, res);
|
||||||
|
const {options, buildID} = this._prepareDeltaBundler(req, mres);
|
||||||
|
|
||||||
|
const requestingAssetsLogEntry = log(
|
||||||
|
createActionStartEntry({
|
||||||
|
action_name: 'Requesting assets',
|
||||||
|
bundle_url: req.url,
|
||||||
|
entry_point: options.entryFile,
|
||||||
|
bundler: 'delta',
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
let assets;
|
||||||
|
|
||||||
|
try {
|
||||||
|
assets = await this.getAssets(options);
|
||||||
|
} catch (error) {
|
||||||
|
this._handleError(mres, this.optionsHash(options), error);
|
||||||
|
|
||||||
|
this._reporter.update({
|
||||||
|
buildID,
|
||||||
|
type: 'bundle_build_failed',
|
||||||
|
});
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
mres.setHeader('Content-Type', 'application/json');
|
||||||
|
mres.end(JSON.stringify(assets));
|
||||||
|
|
||||||
|
this._reporter.update({
|
||||||
|
buildID,
|
||||||
|
type: 'bundle_build_done',
|
||||||
|
});
|
||||||
|
|
||||||
|
log(
|
||||||
|
createActionEndEntry({
|
||||||
|
...requestingAssetsLogEntry,
|
||||||
|
bundler: 'delta',
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
_symbolicate(req: IncomingMessage, res: ServerResponse) {
|
_symbolicate(req: IncomingMessage, res: ServerResponse) {
|
||||||
const symbolicatingLogEntry = log(createActionStartEntry('Symbolicating'));
|
const symbolicatingLogEntry = log(createActionStartEntry('Symbolicating'));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue