Skip to content

Commit a08a8ff

Browse files
thePunderWomanAndrewKushnir
authored andcommitted
fix(platform-server): bundle @angular/domino in via esbuild (#49229)
This removes one line that should effectively bundle the angular fork of domino in via esbuild. PR Close #49229
1 parent 7fd650a commit a08a8ff

File tree

12 files changed

+45
-14
lines changed

12 files changed

+45
-14
lines changed

packages/core/test/render3/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ ts_library(
5959
"//packages/common",
6060
"//packages/compiler",
6161
"//packages/platform-server",
62+
"//packages/platform-server:bundled_domino_lib",
6263
"//packages/zone.js/lib:zone_d_ts",
6364
],
6465
)

packages/core/test/render3/load_domino.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {ɵgetDOM as getDOM} from '@angular/common';
1313
import {DominoAdapter} from '@angular/platform-server/src/domino_adapter';
1414

1515
if (typeof window == 'undefined') {
16-
const domino = require('domino');
16+
const domino = require('../../../platform-server/src/bundled-domino');
1717

1818
DominoAdapter.makeCurrent();
1919
(global as any).document = getDOM().getDefaultDocument();

packages/platform-server/BUILD.bazel

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
load("//tools:defaults.bzl", "api_golden_test_npm_package", "ng_module", "ng_package", "tsec_test")
1+
load("@build_bazel_rules_nodejs//:index.bzl", "js_library")
2+
load("//tools:defaults.bzl", "api_golden_test_npm_package", "esbuild", "ng_module", "ng_package", "tsec_test")
23

34
package(default_visibility = ["//visibility:public"])
45

@@ -10,8 +11,10 @@ ng_module(
1011
"*.ts",
1112
"src/**/*.ts",
1213
],
14+
exclude = ["src/bundled-domino.d.ts"],
1315
),
1416
deps = [
17+
":bundled_domino_lib",
1518
"//packages/animations/browser",
1619
"//packages/common",
1720
"//packages/common/http",
@@ -28,6 +31,22 @@ ng_module(
2831
],
2932
)
3033

34+
esbuild(
35+
name = "bundled_domino",
36+
entry_point = "@npm//:node_modules/domino/lib/index.js",
37+
format = "esm",
38+
output = "src/bundled-domino.mjs",
39+
deps = ["@npm//domino"],
40+
)
41+
42+
js_library(
43+
name = "bundled_domino_lib",
44+
srcs = [
45+
"src/bundled-domino.d.ts",
46+
":bundled_domino",
47+
],
48+
)
49+
3150
tsec_test(
3251
name = "tsec_test",
3352
target = "platform-server",
@@ -40,7 +59,6 @@ ng_package(
4059
"package.json",
4160
],
4261
externals = [
43-
"domino",
4462
"xhr2",
4563
],
4664
tags = [

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ ts_library(
1212
testonly = True,
1313
srcs = glob(["**/*.ts"]),
1414
deps = [
15+
"//packages/platform-server:bundled_domino_lib",
1516
"//packages/platform-server/init",
16-
"@npm//domino",
1717
],
1818
)
1919

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +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.io/license
77
*/
8-
import domino from 'domino';
9-
8+
import domino from '../../src/bundled-domino';
109
import {applyShims} from '../src/shims';
1110

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

packages/platform-server/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
"@angular/platform-browser-dynamic": "0.0.0-PLACEHOLDER"
1717
},
1818
"dependencies": {
19-
"domino": "https://github.com/angular/domino.git#4280d0380df839d97b81e7680877ad5b55500e77",
2019
"tslib": "^2.3.0",
2120
"xhr2": "^0.2.0"
2221
},
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* @license
3+
* Copyright Google LLC All Rights Reserved.
4+
*
5+
* Use of this source code is governed by an MIT-style license that can be
6+
* found in the LICENSE file at https://angular.io/license
7+
*/
8+
9+
import domino from 'domino';
10+
11+
export default domino;

packages/platform-server/src/domino_adapter.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88

99
import {ɵsetRootDomAdapter as setRootDomAdapter} from '@angular/common';
1010
import {ɵBrowserDomAdapter as BrowserDomAdapter} from '@angular/platform-browser';
11-
import domino from 'domino';
11+
12+
import domino from './bundled-domino';
1213

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

packages/private/testing/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ ng_module(
1717
module_name = "@angular/private/testing",
1818
deps = [
1919
"//packages/core",
20-
"@npm//domino",
20+
"//packages/platform-server:bundled_domino_lib",
2121
],
2222
)

packages/private/testing/src/utils.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,15 +112,17 @@ let savedDocument: Document|undefined = undefined;
112112
let savedRequestAnimationFrame: ((callback: FrameRequestCallback) => number)|undefined = undefined;
113113
let savedNode: typeof Node|undefined = undefined;
114114
let requestAnimationFrameCount = 0;
115-
let domino: typeof import('domino')|null|undefined = undefined;
115+
let domino: typeof import('../../../platform-server/src/bundled-domino')['default']|null|undefined =
116+
undefined;
116117

117-
async function loadDominoOrNull(): Promise<typeof import('domino')|null> {
118+
async function loadDominoOrNull():
119+
Promise<typeof import('../../../platform-server/src/bundled-domino')['default']|null> {
118120
if (domino !== undefined) {
119121
return domino;
120122
}
121123

122124
try {
123-
return domino = (await import('domino')).default;
125+
return domino = (await import('../../../platform-server/src/bundled-domino')).default;
124126
} catch {
125127
return domino = null;
126128
}

0 commit comments

Comments
 (0)