Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[0.73.x] Release 0.73.8 (Terser source map fixes) #930

Merged
merged 3 commits into from Feb 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion lerna.json
@@ -1,6 +1,6 @@
{
"lerna": "2.4.0",
"version": "0.73.7",
"version": "0.73.8",
"npmClient": "yarn",
"useWorkspaces": true
}
4 changes: 2 additions & 2 deletions packages/buck-worker-tool/package.json
@@ -1,6 +1,6 @@
{
"name": "buck-worker-tool",
"version": "0.73.7",
"version": "0.73.8",
"description": "Implementation of the Buck worker protocol for Node.js.",
"license": "MIT",
"main": "src/worker-tool.js",
Expand All @@ -13,7 +13,7 @@
"through": ">=2.2.7 <3"
},
"devDependencies": {
"metro-memory-fs": "0.73.7"
"metro-memory-fs": "0.73.8"
},
"scripts": {
"prepare-release": "test -d build && rm -rf src.real && mv src src.real && mv build src",
Expand Down
2 changes: 1 addition & 1 deletion packages/metro-babel-register/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-babel-register",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 babel/register configuration for Metro.",
"main": "src/babel-register.js",
"repository": {
Expand Down
4 changes: 2 additions & 2 deletions packages/metro-babel-transformer/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-babel-transformer",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 Base Babel transformer for Metro.",
"main": "src/index.js",
"repository": {
Expand All @@ -19,7 +19,7 @@
"dependencies": {
"@babel/core": "^7.20.0",
"hermes-parser": "0.8.0",
"metro-source-map": "0.73.7",
"metro-source-map": "0.73.8",
"nullthrows": "^1.1.1"
}
}
4 changes: 2 additions & 2 deletions packages/metro-cache-key/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-cache-key",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 Cache key utility.",
"main": "src/index.js",
"repository": {
Expand All @@ -13,6 +13,6 @@
},
"license": "MIT",
"devDependencies": {
"metro-memory-fs": "0.73.7"
"metro-memory-fs": "0.73.8"
}
}
6 changes: 3 additions & 3 deletions packages/metro-cache/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-cache",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 Cache layers for Metro.",
"main": "src/index.js",
"repository": {
Expand All @@ -12,11 +12,11 @@
"cleanup-release": "test ! -e build && mv src build && mv src.real src"
},
"dependencies": {
"metro-core": "0.73.7",
"metro-core": "0.73.8",
"rimraf": "^3.0.2"
},
"devDependencies": {
"metro-memory-fs": "0.73.7"
"metro-memory-fs": "0.73.8"
},
"license": "MIT"
}
10 changes: 5 additions & 5 deletions packages/metro-config/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-config",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 Config parser for Metro.",
"main": "src/index.js",
"repository": {
Expand All @@ -15,10 +15,10 @@
"dependencies": {
"cosmiconfig": "^5.0.5",
"jest-validate": "^26.5.2",
"metro": "0.73.7",
"metro-cache": "0.73.7",
"metro-core": "0.73.7",
"metro-runtime": "0.73.7"
"metro": "0.73.8",
"metro-cache": "0.73.8",
"metro-core": "0.73.8",
"metro-runtime": "0.73.8"
},
"devDependencies": {
"pretty-format": "^26.5.2",
Expand Down
4 changes: 2 additions & 2 deletions packages/metro-core/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-core",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 Metro's core package.",
"main": "src/index.js",
"repository": {
Expand All @@ -13,7 +13,7 @@
},
"dependencies": {
"lodash.throttle": "^4.1.1",
"metro-resolver": "0.73.7"
"metro-resolver": "0.73.8"
},
"license": "MIT"
}
2 changes: 1 addition & 1 deletion packages/metro-file-map/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-file-map",
"version": "0.73.7",
"version": "0.73.8",
"description": "[Experimental] - 🚇 File crawling, watching and mapping for Metro",
"main": "src/index.js",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/metro-hermes-compiler/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-hermes-compiler",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 Hermes bytecode compiler for Metro.",
"main": "src/index.js",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/metro-inspector-proxy/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-inspector-proxy",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 Inspector proxy for React Native and dev tools integration.",
"main": "src/index.js",
"bin": "src/cli.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/metro-memory-fs/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-memory-fs",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 A memory-based implementation of `fs` useful for testing.",
"main": "src/index.js",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/metro-minify-terser/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-minify-terser",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 Minifier for Metro based on Terser.",
"main": "src/index.js",
"repository": {
Expand Down
@@ -0,0 +1,92 @@
/**
* 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
* @format
*/

import minify from '../minifier';

const config = {
mangle: {
toplevel: false,
},
output: {
ascii_only: true,
quote_style: 3,
wrap_iife: true,
},
sourceMap: {
includeSources: false,
},
toplevel: false,
compress: {
reduce_funcs: false,
},
};

const BAR = {
filename: '',
code: '__d(function(global,_$$_REQUIRE,_$$_IMPORT_DEFAULT,_$$_IMPORT_ALL,module,exports,_$$_METRO_DEPENDENCY_MAP){"use strict";function bar(){return new Promise(function(resolve){return resolve(_$$_REQUIRE(_$$_METRO_DEPENDENCY_MAP[0]));}).then(function onGlo(glo){makeItThrow(glo);});}function makeItThrow(glo){makeItThrowInner(glo);}function makeItThrowInner(glo){glo.throwSmth();}module.exports=bar;});',
map: {
version: 3,
sources: ['js/RKJSModules/bar.js'],
sourcesContent: [
"'use strict';\n\nfunction bar() {\n return new Promise(resolve => resolve(require('./segmented/glo.js'))).then(function onGlo(glo) {\n makeItThrow(glo);\n });\n}\n\nfunction makeItThrow(glo) {\n makeItThrowInner(glo);\n}\n\nfunction makeItThrowInner(glo) {\n glo.throwSmth();\n}\n\nmodule.exports = bar;\n",
],
names: [
'bar',
'Promise',
'resolve',
'require',
'then',
'onGlo',
'glo',
'makeItThrow',
'makeItThrowInner',
'throwSmth',
'module',
'exports',
],
mappings:
'2GAAA,YAAY,CAEZ,QAASA,IAAG,EAAG,CACb,MAAO,IAAIC,QAAO,CAAC,SAAAC,OAAO,QAAIA,QAAO,CAACC,WAAO,6BAAsB,CAAC,GAAC,CAACC,IAAI,CAAC,QAASC,MAAK,CAACC,GAAG,CAAE,CAC7FC,WAAW,CAACD,GAAG,CAAC,CAClB,CAAC,CAAC,CACJ,CAEA,QAASC,YAAW,CAACD,GAAG,CAAE,CACxBE,gBAAgB,CAACF,GAAG,CAAC,CACvB,CAEA,QAASE,iBAAgB,CAACF,GAAG,CAAE,CAC7BA,GAAG,CAACG,SAAS,EAAE,CACjB,CAEAC,MAAM,CAACC,OAAO,CAAGX,GAAG,CAAC',
},
reserved: ['_$$_METRO_DEPENDENCY_MAP'],
config,
};

const GLO = {
filename: '',
code: '__d(function(global,_$$_REQUIRE,_$$_IMPORT_DEFAULT,_$$_IMPORT_ALL,module,exports,_$$_METRO_DEPENDENCY_MAP){"use strict";var biz=_$$_REQUIRE(_$$_METRO_DEPENDENCY_MAP[0]);module.exports={throwSmth:function throwSmth(){return biz.throwSmthInner();}};});',
map: {
version: 3,
sources: ['js/RKJSModules/segmented/glo.js'],
sourcesContent: [
"'use strict';\n\nconst biz = require('./biz');\n\nmodule.exports = {\n throwSmth() {\n return biz.throwSmthInner();\n },\n};",
],
names: [
'biz',
'require',
'module',
'exports',
'throwSmth',
'throwSmthInner',
],
mappings:
'2GAAA,YAAY,CAEZ,GAAMA,IAAG,CAAGC,WAAO,6BAAS,CAE5BC,MAAM,CAACC,OAAO,CAAG,CACfC,SAAS,qBAAG,CACV,MAAOJ,IAAG,CAACK,cAAc,EAAE,CAC7B,CACF,CAAC,CAAC',
},
reserved: ['_$$_METRO_DEPENDENCY_MAP'],
config,
};

test('parallel calls do not clobber each other', async () => {
const [barResult, gloResult] = await Promise.all([minify(BAR), minify(GLO)]);

const barMap = barResult.map;
const gloMap = gloResult.map;

expect(gloMap).not.toEqual(barMap);
});
5 changes: 5 additions & 0 deletions packages/metro-minify-terser/src/minifier.js
Expand Up @@ -36,6 +36,11 @@ async function minify({
}: MinifierOptions): Promise<{code: string, map: ?string}> {
const options = {
...config,
output: {
// Mitigate https://github.com/terser/terser/issues/1341 - Terser may
// set its internal data on this object, so give it a shallow copy.
...(config.output ?? {}),
},
mangle:
config.mangle === false
? false
Expand Down
2 changes: 1 addition & 1 deletion packages/metro-minify-uglify/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-minify-uglify",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 Minifier for Metro based on Uglify.",
"main": "src/index.js",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/metro-react-native-babel-preset/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-react-native-babel-preset",
"version": "0.73.7",
"version": "0.73.8",
"description": "Babel preset for React Native applications",
"main": "src/index.js",
"repository": {
Expand Down
8 changes: 4 additions & 4 deletions packages/metro-react-native-babel-transformer/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-react-native-babel-transformer",
"version": "0.73.7",
"version": "0.73.8",
"description": "Babel transformer for React Native applications.",
"main": "src/index.js",
"repository": {
Expand All @@ -21,9 +21,9 @@
"@babel/core": "^7.20.0",
"babel-preset-fbjs": "^3.4.0",
"hermes-parser": "0.8.0",
"metro-babel-transformer": "0.73.7",
"metro-react-native-babel-preset": "0.73.7",
"metro-source-map": "0.73.7",
"metro-babel-transformer": "0.73.8",
"metro-react-native-babel-preset": "0.73.8",
"metro-source-map": "0.73.8",
"nullthrows": "^1.1.1"
},
"peerDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/metro-react-native-interop-tools/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-react-native-interop-tools",
"version": "0.73.7",
"version": "0.73.8",
"description": "Interop tools for React Native applications",
"main": "src/index.js",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/metro-resolver/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-resolver",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 Implementation of Metro's resolution logic.",
"main": "src",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/metro-runtime/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-runtime",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 Module required for evaluating Metro bundles.",
"main": "src",
"repository": {
Expand Down
6 changes: 3 additions & 3 deletions packages/metro-source-map/package.json
@@ -1,6 +1,6 @@
{
"name": "metro-source-map",
"version": "0.73.7",
"version": "0.73.8",
"description": "🚇 Source map generator for Metro.",
"main": "src/source-map.js",
"repository": {
Expand All @@ -15,9 +15,9 @@
"@babel/traverse": "^7.20.0",
"@babel/types": "^7.20.0",
"invariant": "^2.2.4",
"metro-symbolicate": "0.73.7",
"metro-symbolicate": "0.73.8",
"nullthrows": "^1.1.1",
"ob1": "0.73.7",
"ob1": "0.73.8",
"source-map": "^0.5.6",
"vlq": "^1.0.0"
},
Expand Down
Expand Up @@ -8,10 +8,6 @@ Array [
"line": 1,
},
"name": null,
"original": Object {
"column": null,
"line": null,
},
"source": null,
},
Object {
Expand Down Expand Up @@ -56,10 +52,6 @@ Array [
"line": 12,
},
"name": null,
"original": Object {
"column": null,
"line": null,
},
"source": null,
},
Object {
Expand All @@ -80,10 +72,6 @@ Array [
"line": 25,
},
"name": null,
"original": Object {
"column": null,
"line": null,
},
"source": null,
},
Object {
Expand Down