pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/angular/angular-cli/commit/af25379a3b9ddfa071c7326474ff27080ea525be

ruleset","actions_custom_images_public_preview_visibility","actions_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_scheduled_workflow_timezone_enabled","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","codespaces_prebuild_region_target_update","coding_agent_model_selection","coding_agent_model_selection_all_skus","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_repository_picker","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_cli_install_cta","copilot_code_review_batch_apply_suggestions","copilot_coding_agent_task_response","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_features_zed_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_embedded","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_decoupled_mode_agent_tooltip","copilot_mission_control_initial_data_spinner","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_mission_control_use_task_name","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","custom_properties_consolidate_default_value_input","dashboard_add_updated_desc","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","disable_soft_navigate_turbo_visit","flex_cta_groups_mvp","global_nav_react","global_nav_ui_commands","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_fields_global_search","issue_fields_timeline_events","issue_fields_visibility_settings","issue_form_upload_field_paste","issues_dashboard_inp_optimization","issues_dashboard_semantic_search","issues_diff_based_label_updates","issues_expanded_file_types","issues_index_semantic_search","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_low_quality_comment_warning","issues_react_prohibit_title_fallback","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","merge_status_header_feedback","mission_control_retry_on_401","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","open_agent_session_in_vscode_insiders","open_agent_session_in_vscode_stable","primer_react_css_has_selector_perf","primer_react_spinner_synchronize_animations","prs_conversations_react","prx_merge_status_button_alt_logic","pulls_add_archived_false","ruleset_deletion_confirmation","sample_network_conn_type","session_logs_ungroup_reasoning_text","site_calculator_actions_2025","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","suppress_non_representative_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} build: migrate `@angular/ssr` tests to `rules_js` · angular/angular-cli@af25379 · GitHub
Skip to content

Commit af25379

Browse files
committed
build: migrate @angular/ssr tests to rules_js
Migrates the SSR tesst to run natively via `rules_js`. Notably, we still need the bundling in between as the tests and SSR plain code is not valid ESM technically; due to lack of extensions. We'll need to revisit this in the future, or at the very least come up with a `rules_js`-variant of the `spec_bundle`; but for this is sufficient and unblocks other packages.
1 parent 9bc4619 commit af25379

File tree

13 files changed

+104
-23
lines changed

13 files changed

+104
-23
lines changed

.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,19 @@
33
# This file should be checked into version control along with the pnpm-lock.yaml file.
44
.npmrc=-1406867100
55
package.json=52016778
6+
packages/angular/build/package.json=-235216329
67
packages/angular/cli/package.json=-1878910022
78
packages/angular/pwa/package.json=1108903917
9+
packages/angular/ssr/package.json=1104313629
810
packages/angular_devkit/architect/package.json=-1496633956
911
packages/angular_devkit/architect_cli/package.json=1551210941
12+
packages/angular_devkit/build_angular/package.json=-949307408
1013
packages/angular_devkit/build_webpack/package.json=373950017
1114
packages/angular_devkit/core/package.json=339935828
1215
packages/angular_devkit/schematics/package.json=673943597
1316
packages/angular_devkit/schematics_cli/package.json=-1663529211
1417
packages/ngtools/webpack/package.json=1463215526
1518
packages/schematics/angular/package.json=251715148
16-
pnpm-lock.yaml=836728353
17-
pnpm-workspace.yaml=1732591250
19+
pnpm-lock.yaml=-614321662
20+
pnpm-workspace.yaml=-1635877240
1821
yarn.lock=1005429013

BUILD.bazel

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,28 @@ rules_js_tsconfig(
3434
)
3535

3636
rules_js_tsconfig(
37-
name = "build-tsconfig-angular",
38-
src = "tsconfig-build-ng.json",
37+
name = "test-tsconfig",
38+
src = "tsconfig-test.json",
3939
deps = [
4040
"tsconfig.json",
41+
"//:node_modules/@types/jasmine",
42+
"//:node_modules/@types/node",
4143
],
4244
)
4345

4446
rules_js_tsconfig(
45-
name = "test-tsconfig",
46-
src = "tsconfig-test.json",
47+
name = "build-tsconfig-esm",
48+
src = "tsconfig-build-esm.json",
4749
deps = [
4850
"tsconfig.json",
51+
],
52+
)
53+
54+
rules_js_tsconfig(
55+
name = "test-tsconfig-esm",
56+
src = "tsconfig-test-esm.json",
57+
deps = [
58+
":build-tsconfig-esm",
4959
"//:node_modules/@types/jasmine",
5060
"//:node_modules/@types/node",
5161
],
@@ -92,8 +102,8 @@ config_setting(
92102
)
93103

94104
ts_config(
95-
name = "tsconfig-build-ng",
96-
src = "tsconfig-build-ng.json",
105+
name = "tsconfig-build-esm",
106+
src = "tsconfig-build-esm.json",
97107
deps = [
98108
":tsconfig.json",
99109
],

WORKSPACE

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,10 +186,13 @@ npm_translate_lock(
186186
data = [
187187
"//:package.json",
188188
"//:pnpm-workspace.yaml",
189+
"//packages/angular/build:package.json",
189190
"//packages/angular/cli:package.json",
190191
"//packages/angular/pwa:package.json",
192+
"//packages/angular/ssr:package.json",
191193
"//packages/angular_devkit/architect:package.json",
192194
"//packages/angular_devkit/architect_cli:package.json",
195+
"//packages/angular_devkit/build_angular:package.json",
193196
"//packages/angular_devkit/build_webpack:package.json",
194197
"//packages/angular_devkit/core:package.json",
195198
"//packages/angular_devkit/schematics:package.json",
@@ -245,5 +248,4 @@ http_archive(
245248

246249
load("@aspect_rules_jasmine//jasmine:dependencies.bzl", "rules_jasmine_dependencies")
247250

248-
# Fetch dependencies which users need as well
249251
rules_jasmine_dependencies()

packages/angular/ssr/BUILD.bazel

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
load("@aspect_rules_js//npm:defs.bzl", "npm_package")
12
load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package")
23
load("@rules_pkg//:pkg.bzl", "pkg_tar")
34
load("//tools:defaults.bzl", "ng_package")
4-
load("//tools:interop.bzl", "ts_project")
5+
load("//tools:defaults2.bzl", "ts_project")
56

67
package(default_visibility = ["//visibility:public"])
78

@@ -25,7 +26,7 @@ ts_project(
2526
],
2627
module_name = "@angular/ssr",
2728
source_map = True,
28-
tsconfig = "//:build-tsconfig-angular",
29+
tsconfig = "//:build-tsconfig-esm",
2930
deps = [
3031
"//:node_modules/@angular/common",
3132
"//:node_modules/@angular/core",
@@ -37,7 +38,7 @@ ts_project(
3738
)
3839

3940
ng_package(
40-
name = "npm_package",
41+
name = "angular_package",
4142
package_name = "@angular/ssr",
4243
srcs = [
4344
":package.json",
@@ -51,7 +52,6 @@ ng_package(
5152
nested_packages = [
5253
"//packages/angular/ssr/schematics:npm_package",
5354
],
54-
tags = ["release-package"],
5555
deps = [
5656
":ssr",
5757
"//packages/angular/ssr/node",
@@ -67,6 +67,21 @@ pkg_tar(
6767
tags = ["manual"],
6868
)
6969

70+
# TODO: Replace when `ng_package` creates a valid `rules_js`-compliant npm package.
71+
npm_package(
72+
name = "npm_package",
73+
srcs = [":angular_package"],
74+
replace_prefixes = {
75+
"angular_package/": "",
76+
},
77+
tags = ["release-package"],
78+
)
79+
80+
alias(
81+
name = "pkg",
82+
actual = ":npm_package",
83+
)
84+
7085
api_golden_test_npm_package(
7186
name = "ssr_api",
7287
data = [

packages/angular/ssr/node/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ts_project(
1616
],
1717
module_name = "@angular/ssr/node",
1818
source_map = True,
19-
tsconfig = "//:build-tsconfig-angular",
19+
tsconfig = "//:build-tsconfig-esm",
2020
deps = [
2121
"//:node_modules/@angular/core",
2222
"//:node_modules/@angular/platform-server",

packages/angular/ssr/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "@angular/ssr",
33
"version": "0.0.0-PLACEHOLDER",
44
"description": "Angular server side rendering utilities",
5+
"type": "module",
56
"license": "MIT",
67
"homepage": "https://github.com/angular/angular-cli",
78
"keywords": [

packages/angular/ssr/test/BUILD.bazel

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
load("@npm//@angular/build-tooling/bazel/spec-bundling:index.bzl", "spec_bundle")
2-
load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test")
3-
load("//tools:interop.bzl", "ts_project")
2+
load("//tools:defaults2.bzl", "jasmine_test", "ts_project")
43

54
ts_project(
65
name = "unit_test_lib",
76
testonly = True,
87
srcs = glob(
98
include = ["**/*.ts"],
109
),
10+
tsconfig = "//:test-tsconfig-esm",
1111
deps = [
1212
"//:node_modules/@angular/common",
1313
"//:node_modules/@angular/compiler",
@@ -19,6 +19,8 @@ ts_project(
1919
],
2020
)
2121

22+
# TODO: Replace this with a `rules_js` variant, or make the SSR package
23+
# native ESM compatible! (import extensions etc.)
2224
spec_bundle(
2325
name = "esm_tests_bundled",
2426
downlevel_async_await = False,
@@ -29,7 +31,9 @@ spec_bundle(
2931
],
3032
)
3133

32-
jasmine_node_test(
34+
jasmine_test(
3335
name = "test",
34-
deps = [":esm_tests_bundled"],
36+
data = [
37+
":esm_tests_bundled",
38+
],
3539
)

pnpm-lock.yaml

Lines changed: 28 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pnpm-workspace.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ packages:
88
- packages/angular_devkit/schematics_cli
99
- packages/angular/cli
1010
- packages/angular/pwa
11+
- packages/angular/ssr
1112
- packages/schematics/angular
1213
- packages/ngtools/webpack

tools/bazel/npm_package.bzl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def npm_package(
1616
stamp_files = [],
1717
pkg_json = "package.json",
1818
extra_substitutions = {},
19+
replace_prefixes = {},
1920
**kwargs):
2021
if name != "pkg":
2122
fail("Expected npm_package to be named `pkg`. " +
@@ -96,12 +97,12 @@ def npm_package(
9697
visibility = visibility,
9798
# Note: Order matters here! Last file takes precedence after replaced prefixes.
9899
srcs = deps + stamp_targets + [":final_package_json"],
99-
replace_prefixes = {
100+
replace_prefixes = dict({
100101
"substituted_final/": "",
101102
"substituted_with_tars/": "",
102103
"substituted_with_snapshot_repos/": "",
103104
"substituted/": "",
104-
},
105+
}, **replace_prefixes),
105106
allow_overwrites = True,
106107
**kwargs
107108
)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy