Skip to content

Commit 253e9cb

Browse files
committed
fix(builtin): use a local mod to revert a browserify change
This is needed so that --preserve-symlinks browserify option also applies to the main
1 parent 1753ed5 commit 253e9cb

7 files changed

Lines changed: 20 additions & 10 deletions

File tree

internal/npm_install/browserify-wrapped.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,15 @@ browserify-wrapped: running with
3636

3737
// browserify is ncc bundled & terser minified into third_party
3838
const browserify = require.resolve(
39-
'build_bazel_rules_nodejs/third_party/github.com/browserify/browserify/index.min.js');
39+
`build_bazel_rules_nodejs/third_party/github.com/browserify/browserify/index.${DEBUG ? '' : 'min.'}js`);
4040

4141
// named-amd plugin is vendored in under third_party
4242
const namedAmd = require.resolve(
4343
'build_bazel_rules_nodejs/third_party/github.com/jhermsmeier/browserify-named-amd/named-amd.js');
4444

4545
const args = [
4646
browserify, entryPoint,
47+
'--preserve-symlinks',
4748
// Supply the name to use for the AMD define with named-amd plugin
4849
'-p', '[', namedAmd, '--name', packageName, ']',
4950
// Output a stand-alone UMD bundle. Sanitized version the supplied name is used for
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
const fs = require('fs');
2+
const path = require('path');
23
const mainFile = 'build_bazel_rules_nodejs/third_party/github.com/browserify/browserify/index.min.js';
4+
const directory = 'build_bazel_rules_nodejs/internal/npm_install/test';
35

46
describe('our bundled, vendored browserify binary', () => {
57
it('should preserve licenses', () => {
@@ -9,12 +11,16 @@ describe('our bundled, vendored browserify binary', () => {
911
expect(idxFile).toContain('The Dojo Foundation');
1012
});
1113
it('should have a named AMD module', () => {
12-
const minimistUmd = require.resolve('build_bazel_rules_nodejs/internal/npm_install/test/minimist.umd.js');
14+
const minimistUmd = require.resolve(path.join(directory, 'minimist.umd.js'));
1315
expect(fs.readFileSync(minimistUmd, {encoding: 'utf-8'})).toContain(`define('minimist'`);
1416
});
1517
it('should work', () => {
16-
const minimist = require('build_bazel_rules_nodejs/internal/npm_install/test/minimist.umd.js');
18+
const minimist = require(path.join(directory, 'minimist.umd.js'));
1719
const result = minimist('h');
1820
expect(result._[0]).toBe('h');
1921
});
22+
it('should work for package that imports built-ins ' +
23+
'(regression test for #771)', () => {
24+
const coreUtilIsUmd = require(path.join(directory, 'core-util-is.umd.js'));
25+
});
2026
});

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"@bazel/ibazel": "0.10.1",
1616
"@commitlint/cli": "^8.0.0",
1717
"@commitlint/config-conventional": "^8.0.0",
18-
"@zeit/ncc": "0.20.2",
18+
"@zeit/ncc": "^0.20.4",
1919
"bazel_workspaces": "file:./tools/npm_packages/bazel_workspaces",
2020
"browserify": "16.2.3",
2121
"clang-format": "1.2.2",

scripts/vendor_browserify.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ set -eu -o pipefail
88
echo "Compiling browserify with ncc"
99
./node_modules/.bin/ncc build node_modules/browserify/bin/cmd.js -o third_party/github.com/browserify/browserify
1010

11+
echo "Local mod: revert https://github.com/browserify/browserify/pull/1801"
12+
sed -i 's#parent.id !== self._mdeps.top.id#parent.id#' third_party/github.com/browserify/browserify/index.js
13+
1114
echo "Copy LICENSE"
1215
cp -f ./node_modules/browserify/LICENSE ./third_party/github.com/browserify/browserify
1316

third_party/github.com/browserify/browserify/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24936,7 +24936,7 @@ Browserify.prototype._createDeps = function (opts) {
2493624936
}
2493724937
if (err) cb(err, file, pkg)
2493824938
else if (file) {
24939-
if (opts.preserveSymlinks && parent.id !== self._mdeps.top.id) {
24939+
if (opts.preserveSymlinks && parent.id) {
2494024940
return cb(err, path.resolve(file), pkg, file)
2494124941
}
2494224942

third_party/github.com/browserify/browserify/index.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -245,10 +245,10 @@
245245
dependencies:
246246
"@types/node" "*"
247247

248-
"@zeit/ncc@0.20.2":
249-
version "0.20.2"
250-
resolved "https://registry.yarnpkg.com/@zeit/ncc/-/ncc-0.20.2.tgz#5f5f67b51d6bd1f92e334c4aeed799dc9625a459"
251-
integrity sha512-pLc/iJ68//djAW3jE2xMm5vauAuN0wuq9bv4ha/AAlVOBhJXHrx7GBo8SITTZq11nT8wWzYrY0eotw4UfZBiiw==
248+
"@zeit/ncc@^0.20.4":
249+
version "0.20.4"
250+
resolved "https://registry.yarnpkg.com/@zeit/ncc/-/ncc-0.20.4.tgz#00f0a25a88cac3712af4ba66561d9e281c6f05c9"
251+
integrity sha512-fmq+F/QxPec+k/zvT7HiVpk7oiGFseS6brfT/AYqmCUp6QFRK7vZf2Ref46MImsg/g2W3g5X6SRvGRmOAvEfdA==
252252

253253
JSONStream@^1.0.3, JSONStream@^1.0.4:
254254
version "1.3.5"

0 commit comments

Comments
 (0)