Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
-
abe0cfdb
by Pier Angelo Vendrame at 2026-01-28T10:05:12+01:00
13 changed files:
- projects/browser/build.android
- projects/browser/config
- projects/geckoview/build_common
- projects/geckoview/config
- projects/geckoview/list_toolchain_updates_checks
- + projects/terser/README.md
- + projects/terser/build
- + projects/terser/config
- + projects/terser/package-lock.json
- + projects/terser/package.json
- − projects/uglifyjs/README.md
- − projects/uglifyjs/build
- − projects/uglifyjs/config
Changes:
| ... | ... | @@ -3,12 +3,6 @@ |
| 3 | 3 | |
| 4 | 4 | [% pc('android-sdk', 'var/setup', { sdk_tarfile => c("input_files_by_name/android-sdk") }) %]
|
| 5 | 5 | |
| 6 | -[% IF c("var/android-x86_64") -%]
|
|
| 7 | - tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/node') %]
|
|
| 8 | - export PATH=/var/tmp/dist/node/bin:$PATH
|
|
| 9 | - tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/uglifyjs') %]
|
|
| 10 | -[% END -%]
|
|
| 11 | - |
|
| 12 | 6 | # Bundle our extension(s).
|
| 13 | 7 | #
|
| 14 | 8 | # NoScript will be copied over to the profile folder
|
| ... | ... | @@ -65,11 +59,6 @@ function generate_apk { |
| 65 | 59 | [% IF c("var/tor-browser") -%]
|
| 66 | 60 | cp -a ../moat_countries.json ../tor/pluggable_transports/pt_config.json chrome/toolkit/content/global/
|
| 67 | 61 | [% END -%]
|
| 68 | - [% IF c("var/android-x86_64") -%]
|
|
| 69 | - find actors chrome modules moz-src \
|
|
| 70 | - -name '*.js' -or -name '*.mjs' \
|
|
| 71 | - -exec /var/tmp/dist/uglifyjs/bin/uglifyjs --in-situ {} \;
|
|
| 72 | - [% END -%]
|
|
| 73 | 62 | [% IF !c("var/android-armv7") -%]
|
| 74 | 63 | rm -rf armeabi-v7a
|
| 75 | 64 | [% END -%]
|
| ... | ... | @@ -160,9 +160,3 @@ input_files: |
| 160 | 160 | # tor-browser-build#40920
|
| 161 | 161 | - filename: sort-baseline.py
|
| 162 | 162 | enable: '[% c("var/android") %]' |
| 163 | - - project: node
|
|
| 164 | - name: node
|
|
| 165 | - enable: '[% c("var/android-x86_64") %]'
|
|
| 166 | - - project: uglifyjs
|
|
| 167 | - name: uglifyjs
|
|
| 168 | - enable: '[% c("var/android-x86_64") %]' |
| ... | ... | @@ -27,6 +27,8 @@ export NIMBUS_FML=/var/tmp/dist/application-services/nimbus-fml |
| 27 | 27 | |
| 28 | 28 | tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
|
| 29 | 29 | |
| 30 | +tar -C /var/tmp/build/[% project %]-*/tools/terser -xf [% c("input_files_by_name/terser") %]
|
|
| 31 | + |
|
| 30 | 32 | [% c("var/set_MOZ_BUILD_DATE") %]
|
| 31 | 33 | |
| 32 | 34 | export JAVA_HOME=/usr/lib/jvm/java-1.17.0-openjdk-amd64
|
| ... | ... | @@ -132,6 +132,9 @@ steps: |
| 132 | 132 | name: glean-wheels
|
| 133 | 133 | sha256sum: '[% pc("glean-parser", "var/glean_wheels_sha256sum") %]'
|
| 134 | 134 | enable: '[% !c("var/generate_gradle_dependencies_list") %]'
|
| 135 | + - project: terser
|
|
| 136 | + name: terser
|
|
| 137 | + pkg_type: build
|
|
| 135 | 138 | - name: tor-expert-bundle-aar
|
| 136 | 139 | project: tor-expert-bundle-aar
|
| 137 | 140 | pkg_type: build
|
| ... | ... | @@ -190,6 +193,8 @@ input_files: |
| 190 | 193 | - project: oss-licenses-plugin
|
| 191 | 194 | name: oss-licenses-plugin
|
| 192 | 195 | enable: '[% !c("var/generate_gradle_dependencies_list") %]'
|
| 196 | + - project: terser
|
|
| 197 | + name: terser
|
|
| 193 | 198 | - name: tor-expert-bundle-aar
|
| 194 | 199 | project: tor-expert-bundle-aar
|
| 195 | 200 | - project: firefox-l10n
|
| ... | ... | @@ -128,3 +128,9 @@ EOF |
| 128 | 128 | needed=$(ls third_party/python/glean_parser | perl -ne "$p")
|
| 129 | 129 | current='[% pc("glean-parser", "version") %]'
|
| 130 | 130 | check_update_needed glean-parser "$needed" "$current"
|
| 131 | + |
|
| 132 | +# terser
|
|
| 133 | + |
|
| 134 | +needed=$(jq -r '.dependencies.terser' tools/terser/package.json)
|
|
| 135 | +current='[% pc("terser", "version") %]'
|
|
| 136 | +check_update_needed terser "$needed" "$current" |
| 1 | +Mozilla switched from JSMin (which produced invalid JS under some circumstances)
|
|
| 2 | +with to terser in
|
|
| 3 | +[Bug 1967968](https://bugzilla.mozilla.org/show_bug.cgi?id=1967968).
|
|
| 4 | + |
|
| 5 | +However, they did not version it.
|
|
| 6 | +Instead, they create an archive in their CI starting from a `package-lock.json`.
|
|
| 7 | + |
|
| 8 | +This project is the replacement for that archive.
|
|
| 9 | + |
|
| 10 | +When updating Firefox, remember to update this project too, if needed. |
| 1 | +#!/bin/bash
|
|
| 2 | +[% c("var/set_default_env") -%]
|
|
| 3 | + |
|
| 4 | +mkdir -p /var/tmp/dist
|
|
| 5 | +tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/node') %]
|
|
| 6 | +export PATH=/var/tmp/dist/node/bin:$PATH
|
|
| 7 | + |
|
| 8 | +# See also taskcluster/scripts/misc/terser.sh.
|
|
| 9 | + |
|
| 10 | +mkdir terser
|
|
| 11 | +mv package*.json terser
|
|
| 12 | +cd terser
|
|
| 13 | +npm ci --loglevel=error
|
|
| 14 | + |
|
| 15 | +[% c('tar', {
|
|
| 16 | + tar_src => [ 'node_modules' ],
|
|
| 17 | + tar_args => '-caf ' _ dest_dir _ '/' _ c('filename'),
|
|
| 18 | + }) %] |
| 1 | +version: '5.44.0'
|
|
| 2 | +filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
|
|
| 3 | +container:
|
|
| 4 | + use_container: 1
|
|
| 5 | + disable_network:
|
|
| 6 | + build: 0
|
|
| 7 | +input_files:
|
|
| 8 | + - project: container-image
|
|
| 9 | + name: container-image
|
|
| 10 | + - project: node
|
|
| 11 | + name: node
|
|
| 12 | + # These files are in tools/terser in Firefox's source tree
|
|
| 13 | + - filename: 'package.json'
|
|
| 14 | + - filename: 'package-lock.json' |
| 1 | +{
|
|
| 2 | + "name": "terser",
|
|
| 3 | + "version": "1.0.0",
|
|
| 4 | + "lockfileVersion": 3,
|
|
| 5 | + "requires": true,
|
|
| 6 | + "packages": {
|
|
| 7 | + "": {
|
|
| 8 | + "version": "1.0.0",
|
|
| 9 | + "dependencies": {
|
|
| 10 | + "terser": "5.44.0"
|
|
| 11 | + }
|
|
| 12 | + },
|
|
| 13 | + "node_modules/@jridgewell/gen-mapping": {
|
|
| 14 | + "version": "0.3.13",
|
|
| 15 | + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
|
|
| 16 | + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
|
|
| 17 | + "license": "MIT",
|
|
| 18 | + "dependencies": {
|
|
| 19 | + "@jridgewell/sourcemap-codec": "^1.5.0",
|
|
| 20 | + "@jridgewell/trace-mapping": "^0.3.24"
|
|
| 21 | + }
|
|
| 22 | + },
|
|
| 23 | + "node_modules/@jridgewell/resolve-uri": {
|
|
| 24 | + "version": "3.1.2",
|
|
| 25 | + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
|
|
| 26 | + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
|
|
| 27 | + "license": "MIT",
|
|
| 28 | + "engines": {
|
|
| 29 | + "node": ">=6.0.0"
|
|
| 30 | + }
|
|
| 31 | + },
|
|
| 32 | + "node_modules/@jridgewell/source-map": {
|
|
| 33 | + "version": "0.3.11",
|
|
| 34 | + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz",
|
|
| 35 | + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
|
|
| 36 | + "license": "MIT",
|
|
| 37 | + "dependencies": {
|
|
| 38 | + "@jridgewell/gen-mapping": "^0.3.5",
|
|
| 39 | + "@jridgewell/trace-mapping": "^0.3.25"
|
|
| 40 | + }
|
|
| 41 | + },
|
|
| 42 | + "node_modules/@jridgewell/sourcemap-codec": {
|
|
| 43 | + "version": "1.5.5",
|
|
| 44 | + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
|
|
| 45 | + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
|
|
| 46 | + "license": "MIT"
|
|
| 47 | + },
|
|
| 48 | + "node_modules/@jridgewell/trace-mapping": {
|
|
| 49 | + "version": "0.3.30",
|
|
| 50 | + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz",
|
|
| 51 | + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==",
|
|
| 52 | + "license": "MIT",
|
|
| 53 | + "dependencies": {
|
|
| 54 | + "@jridgewell/resolve-uri": "^3.1.0",
|
|
| 55 | + "@jridgewell/sourcemap-codec": "^1.4.14"
|
|
| 56 | + }
|
|
| 57 | + },
|
|
| 58 | + "node_modules/acorn": {
|
|
| 59 | + "version": "8.15.0",
|
|
| 60 | + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
|
| 61 | + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
|
| 62 | + "license": "MIT",
|
|
| 63 | + "bin": {
|
|
| 64 | + "acorn": "bin/acorn"
|
|
| 65 | + },
|
|
| 66 | + "engines": {
|
|
| 67 | + "node": ">=0.4.0"
|
|
| 68 | + }
|
|
| 69 | + },
|
|
| 70 | + "node_modules/buffer-from": {
|
|
| 71 | + "version": "1.1.2",
|
|
| 72 | + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
|
| 73 | + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
|
| 74 | + "license": "MIT"
|
|
| 75 | + },
|
|
| 76 | + "node_modules/commander": {
|
|
| 77 | + "version": "2.20.3",
|
|
| 78 | + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
|
| 79 | + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
|
| 80 | + "license": "MIT"
|
|
| 81 | + },
|
|
| 82 | + "node_modules/source-map": {
|
|
| 83 | + "version": "0.6.1",
|
|
| 84 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
|
| 85 | + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
|
| 86 | + "license": "BSD-3-Clause",
|
|
| 87 | + "engines": {
|
|
| 88 | + "node": ">=0.10.0"
|
|
| 89 | + }
|
|
| 90 | + },
|
|
| 91 | + "node_modules/source-map-support": {
|
|
| 92 | + "version": "0.5.21",
|
|
| 93 | + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
|
|
| 94 | + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
|
| 95 | + "license": "MIT",
|
|
| 96 | + "dependencies": {
|
|
| 97 | + "buffer-from": "^1.0.0",
|
|
| 98 | + "source-map": "^0.6.0"
|
|
| 99 | + }
|
|
| 100 | + },
|
|
| 101 | + "node_modules/terser": {
|
|
| 102 | + "version": "5.44.0",
|
|
| 103 | + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.0.tgz",
|
|
| 104 | + "integrity": "sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==",
|
|
| 105 | + "license": "BSD-2-Clause",
|
|
| 106 | + "dependencies": {
|
|
| 107 | + "@jridgewell/source-map": "^0.3.3",
|
|
| 108 | + "acorn": "^8.15.0",
|
|
| 109 | + "commander": "^2.20.0",
|
|
| 110 | + "source-map-support": "~0.5.20"
|
|
| 111 | + },
|
|
| 112 | + "bin": {
|
|
| 113 | + "terser": "bin/terser"
|
|
| 114 | + },
|
|
| 115 | + "engines": {
|
|
| 116 | + "node": ">=10"
|
|
| 117 | + }
|
|
| 118 | + }
|
|
| 119 | + }
|
|
| 120 | +} |
| 1 | +{
|
|
| 2 | + "version": "1.0.0",
|
|
| 3 | + "description": "Terser JavaScript minifier for Mozilla builds",
|
|
| 4 | + "private": true,
|
|
| 5 | + "dependencies": {
|
|
| 6 | + "terser": "5.44.0"
|
|
| 7 | + }
|
|
| 8 | +} |
| 1 | -This project fetches UglifyJS without any other changes. |
| 1 | -#!/bin/bash
|
|
| 2 | -tar -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
|
|
| 3 | -mv [% project %]-[% c('version') %] [% project %]
|
|
| 4 | -tar -caf [% dest_dir %]/[% c("filename") %] [% project %] |
| 1 | -version: 3.19.3
|
|
| 2 | -filename: 'uglifyjs-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
|
|
| 3 | -git_hash: 3ea33afc72462a470466473208a33379b7204765
|
|
| 4 | -git_url: https://github.com/mishoo/UglifyJS.git |