Skip to content

Commit d081ef9

Browse files
committed
build: replace all ng_package with new rule from rules_angular (angular#61843)
Replaces all `ng_package` rule with the new rule from `rules_angular`. PR Close angular#61843
1 parent 579618d commit d081ef9

File tree

35 files changed

+268
-180
lines changed

35 files changed

+268
-180
lines changed

.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
.npmrc=-1406867100
55
.pnpmfile.cjs=-2033668682
66
adev/shared-docs/pipeline/api-gen/package.json=939673974
7+
integration/package.json=-239561259
78
modules/package.json=-1315257891
89
package.json=288136953
910
packages/animations/package.json=-678724831
@@ -20,7 +21,7 @@ packages/platform-browser/package.json=-1163479450
2021
packages/router/package.json=860819913
2122
packages/upgrade/package.json=16347051
2223
packages/zone.js/package.json=-1545343303
23-
pnpm-lock.yaml=481102297
24-
pnpm-workspace.yaml=-1489095561
24+
pnpm-lock.yaml=1289250097
25+
pnpm-workspace.yaml=1973735808
2526
tools/bazel/rules_angular_store/package.json=-239561259
2627
yarn.lock=1099737031

.bazelignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ modules/ssr-benchmarks/node_modules
4242
# For rules_js
4343
adev/shared-docs/pipeline/api-gen/node_modules
4444
modules/node_modules
45+
integration/node_modules
4546
packages/animations/node_modules
4647
packages/common/node_modules
4748
packages/localize/node_modules

WORKSPACE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ npm_translate_lock(
111111
"//:package.json",
112112
"//:pnpm-workspace.yaml",
113113
"//adev/shared-docs/pipeline/api-gen:package.json",
114+
"//integration:package.json",
114115
"//modules:package.json",
115116
"//packages/animations:package.json",
116117
"//packages/common:package.json",

adev/tools/local_deps/index.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def link_local_packages(all_deps):
2929
pkg_name = _angular_dep_to_pkg_name(dep)
3030
npm_link(
3131
name = _npm_link_name(pkg_name),
32-
target = to_package_label(pkg_name),
32+
target = to_package_label(pkg_name) + "__adev_link",
3333
package_name = pkg_name,
3434
package_path = native.package_name(),
3535
tags = ["manual"],

integration/BUILD.bazel

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
load("@npm2//:defs.bzl", "npm_link_all_packages")
2+
3+
npm_link_all_packages()

integration/ng-modules-importability/BUILD.bazel

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@ ts_project(
88
data = [
99
"//packages:package_json",
1010
],
11-
interop_deps = [
12-
"//packages/compiler-cli",
13-
],
1411
tsconfig = "tsconfig.json",
1512
deps = [
1613
"//:node_modules/@types/node",
1714
"//:node_modules/typescript",
15+
"//integration:node_modules/@angular/compiler-cli",
1816
],
1917
)
2018

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
load("@aspect_rules_js//js:defs.bzl", "js_test")
12
load("@bazel_skylib//rules:write_file.bzl", "write_file")
2-
load("//tools:defaults.bzl", "nodejs_test")
33

44
def module_test(name, npm_packages, skipped_entry_points = [], additional_deps = [], **kwargs):
55
write_file(
@@ -11,14 +11,13 @@ def module_test(name, npm_packages, skipped_entry_points = [], additional_deps =
1111
})],
1212
)
1313

14-
nodejs_test(
14+
js_test(
1515
name = "test",
1616
data = [
1717
":%s_config" % name,
18-
"//integration/ng-modules-importability:test_lib",
18+
"//integration/ng-modules-importability:test_lib_rjs",
1919
] + additional_deps + [pkg[0] for pkg in npm_packages.items()],
2020
entry_point = "//integration/ng-modules-importability:index.mjs",
21-
enable_linker = True,
22-
templated_args = ["$(rootpath :%s_config)" % name],
21+
fixed_args = ["$(rootpath :%s_config)" % name],
2322
**kwargs
2423
)

integration/ng-modules-importability/index.mts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {performCompilation} from '../../packages/compiler-cli/index.js';
1+
import {performCompilation} from '@angular/compiler-cli';
22
import * as fs from 'fs/promises';
33
import * as path from 'path';
44
import * as os from 'os';
@@ -33,6 +33,11 @@ async function main() {
3333
const testChunkStart = testChunkSize * testShardIndex;
3434
const shardExports = allExports.slice(testChunkStart, testChunkStart + testChunkSize);
3535

36+
// Sub-test directory where the first-party linked node modules end up being available.
37+
const testDir = path.join(tmpDir, 'test');
38+
await fs.mkdir(testDir);
39+
await fs.mkdir(path.join(testDir, 'node_modules/@angular'), {recursive: true});
40+
3641
const testFiles = shardExports.map((e) => ({
3742
content: `
3843
import {NgModule, Component} from '@angular/core';
@@ -46,15 +51,16 @@ async function main() {
4651
@Component({imports: [TestModule], template: ''})
4752
export class TestComponent {}
4853
`,
49-
path: path.join(tmpDir, `${e.symbolName.toLowerCase()}.ts`),
54+
path: path.join(testDir, `${e.symbolName.toLowerCase()}.ts`),
5055
}));
5156

5257
// Prepare node modules to resolve e.g. `@angular/core`
53-
await fs.symlink(path.resolve('./node_modules'), path.join(tmpDir, 'node_modules'));
58+
await fs.symlink(path.resolve('./integration/node_modules'), path.join(tmpDir, 'node_modules'));
59+
5460
// Prepare node modules to resolve e.g. `@angular/cdk`. This is possible
5561
// as we are inside the sandbox, inside our test runfiles directory.
5662
for (const {packagePath, name} of packages) {
57-
await fs.symlink(path.resolve(packagePath), `./node_modules/${name}`);
63+
await fs.symlink(path.resolve(packagePath), path.join(testDir, 'node_modules', name));
5864
}
5965

6066
const diagnostics: ts.Diagnostic[] = [];

integration/ng-modules-importability/tsconfig.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"strict": true,
44
"declaration": true,
55
"sourceMap": true,
6-
"module": "node16",
7-
"moduleResolution": "node16",
6+
"module": "esnext",
7+
"moduleResolution": "bundler",
88
"types": ["node"]
99
}
1010
}

integration/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"dependencies": {
3+
"@angular/compiler-cli": "workspace:*"
4+
}
5+
}

packages.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def to_package_label(package_name):
1010
return "//packages/misc/angular-in-memory-web-api:npm_package"
1111

1212
if package_name == "@angular/docs":
13-
return "//adev/shared-docs:npm_package"
13+
return "//adev/shared-docs:pkg"
1414

1515
return "//packages/{package_name}:npm_package".format(package_name = package_name.replace("@angular/", ""))
1616

packages/animations/BUILD.bazel

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
load("//tools:defaults.bzl", "api_golden_test", "api_golden_test_npm_package", "generate_api_docs", "ng_package")
2-
load("//tools:defaults2.bzl", "ng_project", "npm_package")
1+
load("//tools:defaults.bzl", "api_golden_test", "api_golden_test_npm_package", "generate_api_docs")
2+
load("//tools:defaults2.bzl", "ng_package", "ng_project", "npm_package")
33

44
package(default_visibility = ["//visibility:public"])
55

@@ -21,10 +21,10 @@ ng_project(
2121

2222
ng_package(
2323
name = "npm_package",
24-
package_name = "@angular/animations",
2524
srcs = [
2625
"package.json",
2726
],
27+
package = "@angular/animations",
2828
tags = [
2929
"release-with-framework",
3030
],
@@ -38,9 +38,9 @@ ng_package(
3838
"//packages/compiler/test:__pkg__",
3939
],
4040
deps = [
41-
":animations",
42-
"//packages/animations/browser",
43-
"//packages/animations/browser/testing",
41+
":animations_rjs",
42+
"//packages/animations/browser:browser_rjs",
43+
"//packages/animations/browser/testing:testing_rjs",
4444
],
4545
)
4646

packages/benchpress/BUILD.bazel

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
load("@aspect_rules_ts//ts:defs.bzl", rules_js_tsconfig = "ts_config")
2-
load("//tools:defaults.bzl", "ng_package")
3-
load("//tools:defaults2.bzl", "ts_project")
2+
load("//tools:defaults2.bzl", "ng_package", "ts_project")
43

54
package(default_visibility = ["//visibility:public"])
65

@@ -32,7 +31,6 @@ ts_project(
3231

3332
ng_package(
3433
name = "npm_package",
35-
package_name = "@angular/benchpress",
3634
srcs = [
3735
"README.md",
3836
"package.json",
@@ -41,13 +39,14 @@ ng_package(
4139
"@angular/core",
4240
"reflect-metadata",
4341
],
42+
package = "@angular/benchpress",
4443
# Do not add more to this list.
4544
# Dependencies on the full npm_package cause long re-builds.
4645
visibility = [
4746
"//integration:__subpackages__",
4847
"//modules/ssr-benchmarks:__subpackages__",
4948
],
5049
deps = [
51-
":benchpress",
50+
":benchpress_rjs",
5251
],
5352
)

packages/common/BUILD.bazel

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
load("@build_bazel_rules_nodejs//:index.bzl", "generated_file_test")
22
load("//packages/common/locales:index.bzl", "generate_base_currencies_file")
3-
load("//tools:defaults.bzl", "api_golden_test", "api_golden_test_npm_package", "generate_api_docs", "ng_package")
4-
load("//tools:defaults2.bzl", "ng_project", "npm_package")
3+
load("//tools:defaults.bzl", "api_golden_test", "api_golden_test_npm_package", "generate_api_docs")
4+
load("//tools:defaults2.bzl", "ng_package", "ng_project", "npm_package")
55

66
package(default_visibility = ["//visibility:public"])
77

@@ -43,6 +43,10 @@ ng_package(
4343
"package.json",
4444
],
4545
nested_packages = ["//packages/common/locales:package"],
46+
package = "@angular/common",
47+
replace_prefixes = {
48+
"locales/package": "locales/",
49+
},
4650
tags = [
4751
"release-with-framework",
4852
],
@@ -62,11 +66,11 @@ ng_package(
6266
"//packages/language-service/test:__pkg__",
6367
],
6468
deps = [
65-
"//packages/common",
66-
"//packages/common/http",
67-
"//packages/common/http/testing",
68-
"//packages/common/testing",
69-
"//packages/common/upgrade",
69+
"//packages/common:common_rjs",
70+
"//packages/common/http:http_rjs",
71+
"//packages/common/http/testing:testing_rjs",
72+
"//packages/common/testing:testing_rjs",
73+
"//packages/common/upgrade:upgrade_rjs",
7074
],
7175
)
7276

packages/compiler-cli/BUILD.bazel

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,12 @@ pkg_npm(
142142
],
143143
)
144144

145+
# TODO(rules_js migration): Remove when adev uses pnpm workspaces.
146+
alias(
147+
name = "npm_package__adev_link",
148+
actual = ":npm_package",
149+
)
150+
145151
# TODO(devversion): Temporary early `npm_package` for making compiler-cli usable in `rules_angular`.
146152
# Long-term, `pkg_npm` will be migrated to `npm_package` in general.
147153
npm_package(

packages/compiler-cli/src/ngtsc/testing/fake_common/BUILD.bazel

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
load("//tools:defaults.bzl", "ng_package")
2-
load("//tools:defaults2.bzl", "ts_project")
1+
load("//tools:defaults2.bzl", "ng_package", "ts_project")
32

43
package(default_visibility = ["//visibility:public"])
54

@@ -19,7 +18,8 @@ ng_package(
1918
srcs = [
2019
"package.json",
2120
],
21+
package = "@angular/common",
2222
deps = [
23-
":fake_common",
23+
":fake_common_rjs",
2424
],
2525
)

packages/compiler/BUILD.bazel

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
load("//tools:defaults.bzl", "ng_package", "tsec_test")
2-
load("//tools:defaults2.bzl", "npm_package", "ts_project")
1+
load("//tools:defaults.bzl", "tsec_test")
2+
load("//tools:defaults2.bzl", "ng_package", "npm_package", "ts_project")
33

44
package(default_visibility = ["//visibility:public"])
55

@@ -24,6 +24,7 @@ ng_package(
2424
srcs = [
2525
"package.json",
2626
],
27+
package = "@angular/compiler",
2728
side_effect_entry_points = [
2829
"@angular/compiler",
2930
],
@@ -43,7 +44,7 @@ ng_package(
4344
"@npm//@angular/build-tooling/shared-scripts:__subpackages__",
4445
],
4546
deps = [
46-
":compiler",
47+
":compiler_rjs",
4748
],
4849
)
4950

packages/core/BUILD.bazel

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
load("@build_bazel_rules_nodejs//:index.bzl", "generated_file_test")
22
load("//adev/shared-docs/pipeline/api-gen:generate_api_docs.bzl", "generate_api_docs")
33
load("//packages/common/locales:index.bzl", "generate_base_locale_file")
4-
load("//tools:defaults.bzl", "api_golden_test", "api_golden_test_npm_package", "ng_package", "tsec_test")
5-
load("//tools:defaults2.bzl", "ng_project", "npm_package", "ts_config")
4+
load("//tools:defaults.bzl", "api_golden_test", "api_golden_test_npm_package", "tsec_test")
5+
load("//tools:defaults2.bzl", "ng_package", "ng_project", "npm_package", "ts_config")
66

77
package(default_visibility = ["//visibility:public"])
88

@@ -68,14 +68,14 @@ tsec_test(
6868

6969
ng_package(
7070
name = "npm_package",
71-
package_name = "@angular/core",
7271
srcs = [
7372
"package.json",
7473
":event_dispatch_contract_binary",
7574
],
7675
nested_packages = [
7776
"//packages/core/schematics:npm_package",
7877
],
78+
package = "@angular/core",
7979
tags = [
8080
"release-with-framework",
8181
],
@@ -95,12 +95,12 @@ ng_package(
9595
"//packages/language-service/test:__pkg__",
9696
],
9797
deps = [
98-
":core",
99-
"//packages/core/primitives/di",
100-
"//packages/core/primitives/event-dispatch",
101-
"//packages/core/primitives/signals",
102-
"//packages/core/rxjs-interop",
103-
"//packages/core/testing",
98+
":core_rjs",
99+
"//packages/core/primitives/di:di_rjs",
100+
"//packages/core/primitives/event-dispatch:event-dispatch_rjs",
101+
"//packages/core/primitives/signals:signals_rjs",
102+
"//packages/core/rxjs-interop:rxjs-interop_rjs",
103+
"//packages/core/testing:testing_rjs",
104104
],
105105
)
106106

packages/elements/BUILD.bazel

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
load("//tools:defaults.bzl", "api_golden_test_npm_package", "generate_api_docs", "ng_package")
2-
load("//tools:defaults2.bzl", "ng_project")
1+
load("//tools:defaults.bzl", "api_golden_test_npm_package", "generate_api_docs")
2+
load("//tools:defaults2.bzl", "ng_package", "ng_project")
33

44
package(default_visibility = ["//visibility:public"])
55

@@ -22,8 +22,8 @@ ng_project(
2222

2323
ng_package(
2424
name = "npm_package",
25-
package_name = "@angular/elements",
2625
srcs = ["package.json"],
26+
package = "@angular/elements",
2727
tags = [
2828
"release-with-framework",
2929
],
@@ -34,7 +34,7 @@ ng_package(
3434
"//modules/ssr-benchmarks:__subpackages__",
3535
],
3636
deps = [
37-
":elements",
37+
":elements_rjs",
3838
],
3939
)
4040

0 commit comments

Comments
 (0)