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

Bump @bazel/typescript from 3.5.1 to 3.6.0 #1975

Merged
merged 2 commits into from
Jun 29, 2021

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jun 14, 2021

Bumps @bazel/typescript from 3.5.1 to 3.6.0.

Release notes

Sourced from @​bazel/typescript's releases.

3.6.0

Upgrade with

http_archive(
    name = "build_bazel_rules_nodejs",
    sha256 = "0fa2d443571c9e02fcb7363a74ae591bdcce2dd76af8677a95965edf329d778a",
    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/3.6.0/rules_nodejs-3.6.0.tar.gz"],
)

and update @bazel-scoped npm packages as well.

Features

major performance improvement: node_modules can now be directories

In every prior release of rules_nodejs, third-party libraries from npm (node_modules) were given generated BUILD files that used a filegroup to expose all the files in the package. Since npm typically has a very high library re-use, it's easy for a project using something like create-react-scripts (or any high-level workflow/build tool) to have tens of thousands of these files. This doesn't work well under Bazel's sandbox or runfiles features, because these do some filesystem operation for every file.

This release adds an add opt-in exports_directories_only mode to yarn_install and npm_install. It defaults to False, but we intend to flip the default to True in our next major release (4.0)

To opt-in, in your WORKSPACE:

npm_install(
    name = "npm",
    ...
    # export only top-level package directory artifacts from node_modules
    exports_directories_only = True,
)

Then, to avoid warnings from Bazel about directories as sources, add this to your .bazelrc:

startup --host_jvm_args=-DBAZEL_TRACK_SOURCE_DIRECTORIES=1

Turning this on will decrease the time it takes for Bazel to setup runfiles and sandboxing when there are a large number of npm dependencies as inputs to an action. One user observed an improvement from ~48m to ~30m on their build.

This breaks compatibilty for labels that reference files within npm packages such as @npm//:node_modules/prettier/bin-prettier.js. To reference files within npm packages, you can use the directory_file_path rule and/or DirectoryFilePathInfo provider. Note, some rules still need upgrading to support consuming DirectoryFilePathInfo where needed.

NB: This feature requires runfiles be enabled due to an issue in Bazel which we are still investigating. On Windows runfiles are off by default and must be enabled with the --enable_runfiles flag when using this feature.

NB: ts_library does not support directory artifact npm deps due to internal design choice of having all input sources files explicitly specified

NB: karma_web_test and karma_web_test_suite do not yet support directory artifact npm deps as they require node_modules/requirejs/require.js & node_modules/karma-requirejs/lib/adapter.js explicit source files in deps

... (truncated)

Changelog

Sourced from @​bazel/typescript's changelog.

3.6.0 (2021-06-09)

Bug Fixes

  • allow for only stderr to be set on npm_package_bin (fa8f5b1)
  • builtin: add two missing locations where Mac M1 support needs to be declared (2ad950f), closes #2733
  • builtin: propogate tags to both generated targets in generated_file_test (c4403fc)
  • builtin: support directory_file_path entry_point in nodejs_binary & nodejs_test when --bazel_patch_module_resolver is set (51676ef)
  • jasmine: don't assume entry_point is a label as it may now be a dict (3683466)
  • jasmine: unhanded promise rejection causes tests suit to pass (3c4ef58), closes 3.7.0/lib/jasmine.js#L267 #2688
  • terser: make terser resolve more robust by not assuming a single /terser/ segment in the path (4709ffb)
  • typescript: fixed "output was not created" error for ts_project with supports_workers (807b07b)
  • typescript: repair error reporting when a ts_project is missing declaration=True (cd08efe)

Features

  • add opt-in exports_directories_only mode to yarn_install and npm_install (defaults to False) (3d182cf)
  • support dict style directory_file_path entry_point in nodejs_binary, nodejs_test & jasmine_node_test (737674f)
  • support directory_file_path entry_point in npm_umd_bundle (4e44178)
Commits
  • 39a4401 chore: buildifier
  • 07dd8d4 Give reasoning for using ts_project#validate
  • e3cdcba chore: update dependency com_github_mattn_go_isatty to v0.0.13
  • cd6510e refactor: convert web_testing example to ts_project
  • 807b07b fix(typescript): fixed "output was not created" error for ts_project with sup...
  • cd08efe fix(typescript): repair error reporting when a ts_project is missing declarat...
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@github-actions github-actions bot added the chore label Jun 14, 2021
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/bazel/typescript-3.6.0 branch from af0be13 to 33d79df Compare June 14, 2021 10:10
Bumps [@bazel/typescript](https://github.com/bazelbuild/rules_nodejs/tree/HEAD/packages/typescript) from 3.5.1 to 3.6.0.
- [Release notes](https://github.com/bazelbuild/rules_nodejs/releases)
- [Changelog](https://github.com/bazelbuild/rules_nodejs/blob/stable/CHANGELOG.md)
- [Commits](https://github.com/bazelbuild/rules_nodejs/commits/3.6.0/packages/typescript)

---
updated-dependencies:
- dependency-name: "@bazel/typescript"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/bazel/typescript-3.6.0 branch from 33d79df to 83b8f08 Compare June 15, 2021 12:33
@chrismatix chrismatix self-assigned this Jun 21, 2021
@chrismatix chrismatix merged commit ea7df5d into develop Jun 29, 2021
@chrismatix chrismatix deleted the dependabot/npm_and_yarn/bazel/typescript-3.6.0 branch June 29, 2021 10:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant