Skip to content

Commit b40d11e

Browse files
alan-agius4leonsenft
authored andcommitted
build: consolidate domino bundling in platform-server
Move the domino bundling logic and related shims into a centralized third_party directory within packages/platform-server. This avoids duplication of the bundling logic and ensures consistent shimming across the platform-server package and its entry points. Following a conversation with OSS licensing, this change also includes the domino LICENSE file in the generated npm package to comply with licensing requirements for bundled third-party code. ``` ├── fesm2022 │ ├── init.mjs │ ├── init.mjs.map │ ├── platform-server.mjs │ ├── platform-server.mjs.map │ ├── _server-chunk.mjs │ ├── _server-chunk.mjs.map │ ├── testing.mjs │ └── testing.mjs.map ├── LICENSE ├── package.json ├── README.md ├── third_party │ └── domino │ ├── bundled-domino.d.ts │ ├── bundled-domino.mjs │ ├── bundled-domino.mjs.map │ └── LICENSE └── types ├── init.d.ts ├── platform-server.d.ts └── testing.d.ts ```
1 parent eecfa4c commit b40d11e

17 files changed

Lines changed: 84 additions & 89 deletions

File tree

packages/core/test/render3/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ ts_project(
6161
"//packages/common",
6262
"//packages/compiler",
6363
"//packages/platform-server",
64-
"//packages/platform-server:bundled_domino_lib",
6564
],
6665
)
6766

packages/platform-server/BUILD.bazel

Lines changed: 10 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
load("@aspect_rules_js//js:defs.bzl", "js_library")
2-
load("@npm//:rollup/package_json.bzl", rollup = "bin")
31
load("//tools:defaults.bzl", "api_golden_test_npm_package", "generate_api_docs", "ng_package", "ng_project", "tsec_test")
42

53
package(default_visibility = ["//visibility:public"])
@@ -11,45 +9,16 @@ ng_project(
119
"*.ts",
1210
"src/**/*.ts",
1311
],
14-
exclude = ["src/bundled-domino.d.ts"],
1512
),
1613
deps = [
17-
":bundled_domino_lib",
1814
"//:node_modules/@types/node",
1915
"//:node_modules/rxjs",
2016
"//:node_modules/xhr2",
2117
"//packages/common",
2218
"//packages/common/http",
2319
"//packages/core",
2420
"//packages/platform-browser",
25-
],
26-
)
27-
28-
rollup.rollup(
29-
name = "bundled_domino",
30-
srcs = [
31-
"//:node_modules/@rollup/plugin-commonjs",
32-
"//:node_modules/domino",
33-
],
34-
outs = [
35-
"src/bundled-domino.mjs",
36-
],
37-
args = [
38-
"--format=esm",
39-
"--plugin=@rollup/plugin-commonjs",
40-
"--input=node_modules/domino/lib/index.js",
41-
"--sourcemap=false",
42-
"--file=packages/platform-server/src/bundled-domino.mjs",
43-
],
44-
progress_message = "Bundling domino",
45-
silent_on_success = True,
46-
)
47-
48-
js_library(
49-
name = "bundled_domino_lib",
50-
srcs = [
51-
"src/bundled-domino.d.ts",
52-
":bundled_domino",
21+
"//packages/platform-server/third_party/domino:bundled_domino_lib",
5322
],
5423
)
5524

@@ -65,11 +34,20 @@ ng_package(
6534
],
6635
externals = [
6736
"xhr2",
37+
"../../third_party/domino/bundled-domino",
38+
"../third_party/domino/bundled-domino",
39+
],
40+
nested_packages = [
41+
"//packages/platform-server/third_party/domino:bundled_domino_lib",
6842
],
6943
package = "@angular/platform-server",
7044
side_effect_entry_points = [
7145
"@angular/platform-server/init",
7246
],
47+
substitutions = {
48+
# Needed for the FESM files.
49+
"\\./(.+)/third_party/domino/bundled-domino": "../third_party/domino/bundled-domino.mjs",
50+
},
7351
tags = [
7452
"release-with-framework",
7553
],

packages/platform-server/init/BUILD.bazel

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
load("@aspect_rules_js//js:defs.bzl", "js_library")
2-
load("@npm//:rollup/package_json.bzl", rollup = "bin")
31
load("//tools:defaults.bzl", "ng_project", "tsec_test")
42

53
package(default_visibility = ["//visibility:public"])
@@ -14,35 +12,7 @@ ng_project(
1412
exclude = ["src/bundled-domino.d.ts"],
1513
),
1614
deps = [
17-
":bundled_domino_lib",
18-
],
19-
)
20-
21-
rollup.rollup(
22-
name = "bundled_domino",
23-
srcs = [
24-
"//:node_modules/@rollup/plugin-commonjs",
25-
"//:node_modules/domino",
26-
],
27-
outs = [
28-
"src/bundled-domino.mjs",
29-
],
30-
args = [
31-
"--format=esm",
32-
"--plugin=@rollup/plugin-commonjs",
33-
"--input=node_modules/domino/lib/index.js",
34-
"--sourcemap=false",
35-
"--file=packages/platform-server/init/src/bundled-domino.mjs",
36-
],
37-
progress_message = "Bundling domino",
38-
silent_on_success = True,
39-
)
40-
41-
js_library(
42-
name = "bundled_domino_lib",
43-
srcs = [
44-
"src/bundled-domino.d.ts",
45-
":bundled_domino",
15+
"//packages/platform-server/third_party/domino:bundled_domino_lib",
4616
],
4717
)
4818

packages/platform-server/init/src/shims.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import domino from './bundled-domino';
9+
import domino from '../../third_party/domino/bundled-domino';
1010

1111
/**
1212
* Apply the necessary shims to make DOM globals (such as `Element`, `HTMLElement`, etc.) available

packages/platform-server/init/test/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ts_project(
66
srcs = glob(["**/*.ts"]),
77
deps = [
88
"//packages/platform-server/init",
9-
"//packages/platform-server/init:bundled_domino_lib",
9+
"//packages/platform-server/third_party/domino:bundled_domino_lib",
1010
],
1111
)
1212

packages/platform-server/init/test/shims_spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Use of this source code is governed by an MIT-style license that can be
66
* found in the LICENSE file at https://angular.dev/license
77
*/
8-
import domino from '../src/bundled-domino';
8+
import domino from '../../third_party/domino/bundled-domino';
99
import {applyShims} from '../src/shims';
1010

1111
describe('applyShims()', () => {

packages/platform-server/src/bundled-domino.d.ts

Lines changed: 0 additions & 11 deletions
This file was deleted.

packages/platform-server/src/domino_adapter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import {ɵsetRootDomAdapter as setRootDomAdapter} from '@angular/common';
1010
import {ɵBrowserDomAdapter as BrowserDomAdapter} from '@angular/platform-browser';
1111

12-
import domino from './bundled-domino';
12+
import domino from '../third_party/domino/bundled-domino';
1313

1414
export function setDomTypes() {
1515
// Make all Domino types available in the global env.

packages/platform-server/test/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ ts_project(
4343
"//packages/platform-browser",
4444
"//packages/platform-browser/animations",
4545
"//packages/platform-server",
46-
"//packages/platform-server:bundled_domino_lib",
46+
"//packages/platform-server/third_party/domino:bundled_domino_lib",
4747
"//packages/private/testing",
4848
"//packages/router",
4949
],

packages/platform-server/test/transfer_state_spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import {
2020
import {BrowserModule, withEventReplay, withIncrementalHydration} from '@angular/platform-browser';
2121
import {renderModule, ServerModule} from '../index';
2222
import {getHydrationInfoFromTransferState, ssr} from './hydration_utils';
23-
import domino from '../src/bundled-domino';
23+
import domino from '../third_party/domino/bundled-domino';
2424

2525
describe('transfer_state', () => {
2626
const defaultExpectedOutput =

0 commit comments

Comments
 (0)