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

chore(deps): update dependency aspect_rules_ts to v2 #1445

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

renovate-bot
Copy link
Contributor

@renovate-bot renovate-bot commented Sep 8, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change
aspect_rules_ts http_archive major v1.4.5 -> v2.0.0

Release Notes

aspect-build/rules_ts (aspect_rules_ts)

v2.0.0

Compare Source

Welcome to the first major release of rules_ts since 1.0.0.
We'll update these release notes periodically as we get feedback from users.

New Features

We now support Protocol Buffers and gRPC. See https://github.com/aspect-build/rules_ts/blob/main/docs/proto.md

We no longer default to a Persistent Worker mode to make the developer round-trip fast, as this was buggy and we don't have the resources to maintain a custom TypeScript compiler wrapper. Instead, we recommend using a faster transpiler. The upgrade flow will print some error messages on the first run to help you migrate.

We now check for rules_ts updates as part of running rules_ts_dependencies, see https://github.com/aspect-build/rules_ts/blob/main/docs/repositories.md#rules_ts_dependencies-check_for_updates. You can opt-out of the data collection by setting this attribute to False.

Breaking Changes

  • We now support only Bazel 6.0 or greater, since we rely on validation actions
  • We require that you select a value for the skipLibCheck flag, as there is no good default - you can either be fast or correct. Instructions are printed to the terminal on the first build.
  • We require that you select a value for the transpiler attribute. Again, there is no good default since the choices are to be fast or compatible. Documentation is at https://github.com/aspect-build/rules_ts/blob/main/docs/transpiler.md
  • "Persistent Worker" mode is no longer enabled by default. It requires a custom tsc compiler program, and we don't have the resources or funding to deal with the bugs this brings. We think that choosing a faster transpiler is a better solution. If your organization would like support for worker mode, you can fund the maintenance work. Or, if you'd like to take over the persistent worker Node.js program, we are open to relocating the code to a separate repository.
  • The supports_workers attribute on ts_project is now a tri-state [-1, 0, 1] rather than a boolean.
  • --define=VERBOSE_LOGS no longer has an effect, use the --@​aspect_rules_ts//ts:verbose=true flag instead
  • Replace usage of load("@​aspect_rules_ts//ts:repositories.bzl", "LATEST_VERSION") with LATEST_TYPESCRIPT_VERSION
  • The ts_project macro now produces a ts_project rule. Any bazel query expressions, aspect implementations, or other "leaky abstractions" that keyed on the kind of the underlying rule being "ts_project_rule" will need to be updated to the new name "ts_project".
  • json inputs that are not sources and do not have an input / output collision are now declared

Using Bzlmod with Bazel 6:

Add to your MODULE.bazel file:

bazel_dep(name = "aspect_rules_ts", version = "2.0.0")

rules_ts_ext = use_extension(
    "@​aspect_rules_ts//ts:extensions.bzl",
    "ext",
    dev_dependency = True,
)

rules_ts_ext.deps()

use_repo(rules_ts_ext, "npm_typescript")

Using WORKSPACE

Paste this snippet into your WORKSPACE file:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "aspect_rules_ts",
    sha256 = "8aabb2055629a7becae2e77ae828950d3581d7fc3602fe0276e6e039b65092cb",
    strip_prefix = "rules_ts-2.0.0",
    url = "https://github.com/aspect-build/rules_ts/releases/download/v2.0.0/rules_ts-v2.0.0.tar.gz",
)

##################

### rules_ts setup #
##################

### Fetches the rules_ts dependencies.
### If you want to have a different version of some dependency,

### you should fetch it *before* calling this.
### Alternatively, you can skip calling this function, so long as you've

### already fetched all the dependencies.
load("@​aspect_rules_ts//ts:repositories.bzl", "rules_ts_dependencies")

rules_ts_dependencies(

### This keeps the TypeScript version in-sync with the editor, which is typically best.
    ts_version_from = "//:package.json",

### Alternatively, you could pick a specific version, or use
### load("@​aspect_rules_ts//ts:repositories.bzl", "LATEST_TYPESCRIPT_VERSION")

### ts_version = LATEST_TYPESCRIPT_VERSION
)

load("@​aspect_rules_js//js:repositories.bzl", "rules_js_dependencies")

rules_js_dependencies()

load("@​bazel_features//:deps.bzl", "bazel_features_deps")

bazel_features_deps()

### Fetch and register node, if you haven't already
load("@​rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")

nodejs_register_toolchains(
    name = "node",
    node_version = DEFAULT_NODE_VERSION,
)

### Register aspect_bazel_lib toolchains;
### If you use npm_translate_lock or npm_import from aspect_rules_js you can omit this block.
load("@​aspect_bazel_lib//lib:repositories.bzl", "register_copy_directory_toolchains", "register_copy_to_directory_toolchains")

register_copy_directory_toolchains()

register_copy_to_directory_toolchains()

What's Changed

New Contributors

Full Changelog: aspect-build/rules_ts@v1.3.3...v2.0.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate-bot renovate-bot requested review from a team as code owners September 8, 2023 01:48
@trusted-contributions-gcf trusted-contributions-gcf bot added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Sep 8, 2023
@sofisl sofisl added do not merge Indicates a pull request not ready for merge, due to either quality or timing. and removed do not merge Indicates a pull request not ready for merge, due to either quality or timing. labels Sep 14, 2023
@forking-renovate
Copy link

forking-renovate bot commented Sep 19, 2023

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@alexander-fenster alexander-fenster added the automerge Merge the pull request once unit tests and other checks pass. label Sep 26, 2023
@gcf-merge-on-green
Copy link
Contributor

Merge-on-green attempted to merge your PR for 6 hours, but it was not mergeable because either one of your required status checks failed, one of your required reviews was not approved, or there is a do not merge label. Learn more about your required status checks here: https://help.github.com/en/github/administering-a-repository/enabling-required-status-checks. You can remove and reapply the label to re-run the bot.

@gcf-merge-on-green gcf-merge-on-green bot removed the automerge Merge the pull request once unit tests and other checks pass. label Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kokoro:force-run Add this label to force Kokoro to re-run the tests.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants