Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: facebook/metro
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.73.3
Choose a base ref
...
head repository: facebook/metro
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.73.4
Choose a head ref
Loading
Showing with 1,333 additions and 1,054 deletions.
  1. +137 βˆ’0 .circleci/config.yml
  2. +16 βˆ’0 .circleci/scripts/install_codecov.sh
  3. +1 βˆ’2 .flowconfig
  4. +1 βˆ’0 .gitignore
  5. +0 βˆ’3 .npmignore
  6. +0 βˆ’18 .travis.yml
  7. +1 βˆ’1 babel.config.js
  8. +0 βˆ’80 circle.yml
  9. +16 βˆ’0 codecov.yml
  10. +1 βˆ’1 lerna.json
  11. +4 βˆ’6 package.json
  12. +2 βˆ’2 packages/buck-worker-tool/package.json
  13. +1 βˆ’1 packages/metro-babel-register/package.json
  14. +2 βˆ’2 packages/metro-babel-transformer/package.json
  15. +2 βˆ’2 packages/metro-cache-key/package.json
  16. +3 βˆ’3 packages/metro-cache/package.json
  17. +5 βˆ’5 packages/metro-config/package.json
  18. +1 βˆ’1 packages/metro-config/src/configTypes.flow.js
  19. +1 βˆ’2 packages/metro-config/src/defaults/index.js
  20. +2 βˆ’2 packages/metro-core/package.json
  21. +1 βˆ’1 packages/metro-file-map/package.json
  22. +8 βˆ’2 packages/metro-file-map/src/HasteFS.js
  23. +4 βˆ’111 packages/metro-file-map/src/ModuleMap.js
  24. +28 βˆ’14 packages/metro-file-map/src/Watcher.js
  25. +1 βˆ’1 packages/metro-file-map/src/__tests__/HasteFS-test.js
  26. +3 βˆ’3 packages/metro-file-map/src/__tests__/includes_dotfiles-test.js
  27. +55 βˆ’64 packages/metro-file-map/src/__tests__/index-test.js
  28. +32 βˆ’35 packages/metro-file-map/src/crawlers/__tests__/node-test.js
  29. +40 βˆ’82 packages/metro-file-map/src/crawlers/__tests__/watchman-test.js
  30. +12 βˆ’20 packages/metro-file-map/src/crawlers/node.js
  31. +54 βˆ’40 packages/metro-file-map/src/crawlers/watchman/index.js
  32. +57 βˆ’20 packages/metro-file-map/src/flow-types.js
  33. +203 βˆ’193 packages/metro-file-map/src/index.js
  34. +65 βˆ’0 packages/metro-file-map/src/lib/DuplicateHasteCandidatesError.js
  35. +1 βˆ’1 packages/metro-hermes-compiler/package.json
  36. +1 βˆ’1 packages/metro-inspector-proxy/package.json
  37. +1 βˆ’1 packages/metro-memory-fs/package.json
  38. +1 βˆ’1 packages/metro-minify-terser/package.json
  39. +1 βˆ’1 packages/metro-minify-uglify/package.json
  40. +1 βˆ’1 packages/metro-react-native-babel-preset/package.json
  41. +4 βˆ’4 packages/metro-react-native-babel-transformer/package.json
  42. +1 βˆ’1 packages/metro-react-native-interop-tools/package.json
  43. +35 βˆ’1 packages/metro-react-native-interop-tools/src/type-comparison.js
  44. +1 βˆ’1 packages/metro-resolver/package.json
  45. +1 βˆ’1 packages/metro-runtime/package.json
  46. +2 βˆ’2 packages/metro-runtime/src/modules/HMRClient.js
  47. +9 βˆ’1 packages/metro-runtime/src/modules/__tests__/HMRClient-test.js
  48. +13 βˆ’9 packages/metro-runtime/src/polyfills/require.js
  49. +3 βˆ’3 packages/metro-source-map/package.json
  50. +2 βˆ’2 packages/metro-symbolicate/package.json
  51. +1 βˆ’1 packages/metro-symbolicate/src/__tests__/symbolicate-heap-snapshot-test.js
  52. +1 βˆ’1 packages/metro-symbolicate/src/symbolicate.js
  53. +2 βˆ’2 packages/metro-transform-plugins/package.json
  54. +8 βˆ’1 packages/metro-transform-plugins/src/normalizePseudoGlobals.js
  55. +11 βˆ’11 packages/metro-transform-worker/package.json
  56. +3 βˆ’3 packages/metro-transform-worker/src/__tests__/index-test.js
  57. +22 βˆ’22 packages/metro/package.json
  58. +1 βˆ’0 packages/metro/src/Bundler/util.js
  59. +27 βˆ’21 packages/metro/src/DeltaBundler/DeltaCalculator.js
  60. +49 βˆ’33 packages/metro/src/DeltaBundler/Graph.js
  61. +2 βˆ’1 packages/metro/src/DeltaBundler/Serializers/helpers/__tests__/bytecode-test.js
  62. +2 βˆ’1 packages/metro/src/DeltaBundler/Serializers/helpers/__tests__/js-test.js
  63. +79 βˆ’12 packages/metro/src/DeltaBundler/__tests__/Graph-test.js
  64. +0 βˆ’2 packages/metro/src/DeltaBundler/__tests__/__snapshots__/Graph-test.js.snap
  65. +5 βˆ’2 packages/metro/src/DeltaBundler/__tests__/resolver-test.js
  66. +45 βˆ’12 packages/metro/src/HmrServer.js
  67. +3 βˆ’3 packages/metro/src/IncrementalBundler.js
  68. +17 βˆ’12 packages/metro/src/ModuleGraph/node-haste/node-haste.js
  69. +1 βˆ’0 packages/metro/src/Server.js
  70. +3 βˆ’0 packages/metro/src/index.flow.js
  71. +37 βˆ’2 packages/metro/src/lib/TerminalReporter.js
  72. +1 βˆ’1 packages/metro/src/lib/__tests__/contextModuleTemplates-test.js
  73. +1 βˆ’1 packages/metro/src/lib/__tests__/getPreludeCode-test.js
  74. +1 βˆ’2 packages/metro/src/lib/bundleToBytecode.js
  75. +5 βˆ’1 packages/metro/src/lib/reporting.js
  76. +35 βˆ’20 packages/metro/src/node-haste/DependencyGraph.js
  77. +20 βˆ’20 packages/metro/src/node-haste/DependencyGraph/ModuleResolution.js
  78. +1 βˆ’1 packages/metro/src/node-haste/DependencyGraph/createHasteMap.js
  79. +1 βˆ’1 packages/metro/src/node-haste/ModuleCache.js
  80. +1 βˆ’1 packages/ob1/package.json
  81. +1 βˆ’0 scripts/build.js
  82. +1 βˆ’0 scripts/updateVersion.js
  83. +4 βˆ’11 website/yarn.lock
  84. +106 βˆ’105 yarn.lock
137 changes: 137 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
# CircleCI configuration
# https://circleci.com/docs/configuration-reference/

version: 2.1

orbs:
win: circleci/windows@2.4.0

references:
# For stability, Node.js versions we run against in CI are defined explicitly
# (the "lts" alias may bring in a future version before we support it)
node_supported_lts_versions: &node_supported_lts_versions
- &node_min_supported_version "14.17"
- "16.18"
- "18.12"
node_lts_image: &node_lts_image cimg/node:18.12

secure_unset_publish_token: &secure_unset_publish_token
environment:
NPM_TOKEN: ""

commands:
yarn_install:
description: "A wrapper to yarn install with caching"
parameters:
working_directory:
type: string
default: ""
steps:
- restore_cache:
keys:
- dependencies-{{ .Branch }}-{{ checksum "yarn.lock" }}
- dependencies-{{ .Branch }}-
- run:
name: Installing dependencies
command: yarn --frozen-lockfile --non-interactive --ignore-scripts
working_directory: << parameters.working_directory >>
- save_cache:
paths:
- node_modules
key: dependencies-{{ .Branch }}-{{ checksum "yarn.lock" }}

install_and_run_tests:
description: |
Install dependencies and run tests (common steps for test-<platform> jobs)
steps:
- yarn_install
- run: yarn jest --ci --maxWorkers 4 --reporters=default --reporters=jest-junit
- store_test_results:
path: ./reports/

jobs:
run-js-checks:
<<: *secure_unset_publish_token
docker:
- image: *node_lts_image
steps:
- checkout
- yarn_install
- run: yarn typecheck
- run: yarn lint
- run: yarn test-smoke

test-with-coverage:
<<: *secure_unset_publish_token
docker:
- image: *node_lts_image
steps:
- checkout
- yarn_install
- run: yarn test-coverage
- run:
name: Download Codecov Uploader
command: ./.circleci/scripts/install_codecov.sh
- run:
name: Upload coverage results
command: ./codecov -t ${CODECOV_TOKEN} -f ./coverage/coverage-final.json

test-linux:
<<: *secure_unset_publish_token
parameters:
node-version:
type: string
docker:
- image: cimg/node:<< parameters.node-version >>
steps:
- checkout
- install_and_run_tests

test-windows:
<<: *secure_unset_publish_token
parameters:
node-version:
type: string
executor:
name: win/default
steps:
- checkout
- run:
name: Install Node.js and Yarn
command: |
choco install -y nodejs --version << parameters.node-version >>
choco install -y yarn
- install_and_run_tests

publish-to-npm:
docker:
- image: *node_lts_image
steps:
- checkout
- yarn_install
- run: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
- run: npm run publish
- run: rm ~/.npmrc

workflows:
build-and-deploy:
jobs:
- run-js-checks
- test-with-coverage
- test-linux:
matrix:
parameters:
node-version: *node_supported_lts_versions
- test-windows:
matrix:
parameters:
node-version: [*node_min_supported_version]
filters:
branches:
only: /windows\/.*/
- publish-to-npm:
filters:
branches:
ignore: /.*/
tags:
only: /v[0-9]+(\.[0-9]+)*/
16 changes: 16 additions & 0 deletions .circleci/scripts/install_codecov.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/sh

# Install Codecov Uploader
# See https://docs.codecov.com/docs/codecov-uploader#using-the-uploader-with-codecovio-cloud

CODECOV_URL="https://uploader.codecov.io"

curl "${CODECOV_URL}/verification.gpg" | gpg --no-default-keyring --keyring trustedkeys.gpg --import
curl -Os "${CODECOV_URL}/latest/linux/codecov"
curl -Os "${CODECOV_URL}/latest/linux/codecov.SHA256SUM"
curl -Os "${CODECOV_URL}/latest/linux/codecov.SHA256SUM.sig"

gpgv codecov.SHA256SUM.sig codecov.SHA256SUM
shasum -a 256 -c codecov.SHA256SUM

chmod +x codecov
3 changes: 1 addition & 2 deletions .flowconfig
Original file line number Diff line number Diff line change
@@ -8,7 +8,6 @@
emoji=true

exact_by_default=true
exact_empty_objects=true

format.bracket_spacing=false

@@ -42,4 +41,4 @@ untyped-import
untyped-type-import

[version]
^0.190.1
^0.192.0
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -2,6 +2,7 @@
/node_modules
/packages/*/node_modules/
/coverage
/reports
lerna-debug.log
npm-debug.log*
packages/*/build/
3 changes: 0 additions & 3 deletions .npmignore

This file was deleted.

18 changes: 0 additions & 18 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion babel.config.js
Original file line number Diff line number Diff line change
@@ -26,7 +26,7 @@ const plugins = [
'@babel/plugin-syntax-class-properties',
];

const presets = [];
const presets /*: Array<string> */ = [];

function getConfig(api /*: any */) /*: BabelCoreOptions */ {
api.cache.never();
80 changes: 0 additions & 80 deletions circle.yml

This file was deleted.

16 changes: 16 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Codecov configuration
# https://docs.codecov.com/docs/codecovyml-reference

coverage:
status:
project:
default:
informational: true
patch:
default:
informational: true

ignore:
- babel.config.js
- eslint-rules/
- scripts/
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"lerna": "2.4.0",
"version": "0.73.3",
"version": "0.73.4",
"npmClient": "yarn",
"useWorkspaces": true
}
10 changes: 4 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -10,7 +10,6 @@
"acorn": "^8.7.1",
"babel-jest": "^29.2.1",
"chalk": "^4.0.0",
"codecov": "^3.6.5",
"debug": "^2.2.0",
"eslint": "^8.19.0",
"eslint-config-fb-strict": "^27.0.0",
@@ -24,35 +23,34 @@
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.30.1",
"eslint-plugin-relay": "^1.8.3",
"flow-bin": "^0.190.1",
"flow-bin": "^0.192.0",
"glob": "^7.1.1",
"hermes-eslint": "0.8.0",
"invariant": "^2.2.4",
"istanbul-api": "3.0.0",
"istanbul-lib-coverage": "3.0.0",
"jest": "^29.2.1",
"jest-junit": "^10.0.0",
"jest-watch-typeahead": "^2.2.0",
"lerna": "2.4.0",
"metro-babel-register": "*",
"micromatch": "^4.0.4",
"prettier": "^2.4.1",
"progress": "^2.0.0",
"promise": "^8.2.0",
"promise": "^8.3.0",
"temp": "^0.8.3"
},
"scripts": {
"build-clean": "rm -rf ./packages/*/build",
"build": "node ./scripts/build.js",
"clean-all": "rm -rf ./node_modules && rm -rf ./packages/*/node_modules && yarn run build-clean",
"jest-coverage": "yarn run jest --coverage",
"lint-fix": "eslint . --fix --cache",
"lint": "eslint . --cache",
"postinstall": "node ./scripts/build.js",
"postpublish": "lerna run cleanup-release",
"preinstall": "node ./scripts/preinstall.js",
"publish": "yarn run build-clean && yarn run build && lerna run prepare-release && lerna exec -- npm publish",
"start": "node packages/metro/src/cli",
"test-ci": "yarn run typecheck && yarn run lint && yarn run build && yarn run jest-coverage -i && node scripts/mapCoverage.js && codecov",
"test-coverage": "yarn run build && yarn run jest --coverage -i && node scripts/mapCoverage.js",
"test-smoke": "yarn start build --config packages/metro/src/integration_tests/metro.config.js TestBundle.js --out /tmp/TestBundle",
"test": "yarn run typecheck && yarn run lint && yarn run build && yarn run jest",
"typecheck": "flow check",
4 changes: 2 additions & 2 deletions packages/buck-worker-tool/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "buck-worker-tool",
"version": "0.73.3",
"version": "0.73.4",
"description": "Implementation of the Buck worker protocol for Node.js.",
"license": "MIT",
"main": "src/worker-tool.js",
@@ -13,7 +13,7 @@
"through": ">=2.2.7 <3"
},
"devDependencies": {
"metro-memory-fs": "0.73.3"
"metro-memory-fs": "0.73.4"
},
"scripts": {
"prepare-release": "test -d build && rm -rf src.real && mv src src.real && mv build src",
2 changes: 1 addition & 1 deletion packages/metro-babel-register/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "metro-babel-register",
"version": "0.73.3",
"version": "0.73.4",
"description": "πŸš‡ babel/register configuration for Metro.",
"main": "src/babel-register.js",
"repository": {
Loading