@ -16,6 +16,7 @@ nodejs_binary(
|
||||
"@npm//@angular-devkit/build-optimizer",
|
||||
"@npm//is-builtin-module",
|
||||
"@npm//rollup",
|
||||
"@npm//rollup-plugin-commonjs",
|
||||
"@npm//rollup-plugin-node-resolve",
|
||||
"@npm//rollup-plugin-sourcemaps",
|
||||
],
|
||||
|
@ -12,10 +12,10 @@ workspace(name = "project")
|
||||
|
||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
|
||||
RULES_NODEJS_VERSION = "0.26.0"
|
||||
RULES_NODEJS_VERSION = "0.27.4"
|
||||
http_archive(
|
||||
name = "build_bazel_rules_nodejs",
|
||||
sha256 = "5c86b055c57e15bf32d9009a15bcd6d8e190c41b1ff2fb18037b75e0012e4e7c",
|
||||
sha256 = "251a023b6c5c5c97db1bfe24652dc19dad05f4da68f8e1821d92d911fa3f4ef4",
|
||||
url = "https://github.com/bazelbuild/rules_nodejs/releases/download/%s/rules_nodejs-%s.tar.gz" % (RULES_NODEJS_VERSION, RULES_NODEJS_VERSION),
|
||||
)
|
||||
|
||||
|
@ -20,7 +20,7 @@ load(
|
||||
"@build_bazel_rules_nodejs//:internal/rollup/rollup_bundle.bzl",
|
||||
"ROLLUP_ATTRS",
|
||||
"ROLLUP_DEPS_ASPECTS",
|
||||
"run_uglify",
|
||||
"run_terser",
|
||||
"write_rollup_config",
|
||||
)
|
||||
load(
|
||||
@ -309,13 +309,13 @@ def _ng_package_impl(ctx):
|
||||
include_tslib = True,
|
||||
),
|
||||
)
|
||||
uglify_sourcemap = run_uglify(
|
||||
terser_sourcemap = run_terser(
|
||||
ctx,
|
||||
umd_output,
|
||||
min_output,
|
||||
config_name = entry_point.replace("/", "_"),
|
||||
)
|
||||
bundles.append(struct(js = min_output, map = uglify_sourcemap))
|
||||
bundles.append(struct(js = min_output, map = terser_sourcemap))
|
||||
|
||||
packager_inputs = (
|
||||
ctx.files.srcs +
|
||||
@ -433,11 +433,6 @@ NG_PACKAGE_ATTRS = dict(NPM_PACKAGE_ATTRS, **dict(ROLLUP_ATTRS, **{
|
||||
default = Label("@build_bazel_rules_nodejs//internal/rollup:rollup.config.js"),
|
||||
allow_single_file = True,
|
||||
),
|
||||
"_uglify": attr.label(
|
||||
default = Label("@build_bazel_rules_nodejs//internal/rollup:uglify"),
|
||||
executable = True,
|
||||
cfg = "host",
|
||||
),
|
||||
}))
|
||||
|
||||
# Angular wants these named after the entry_point,
|
||||
|
@ -21,7 +21,7 @@ load(
|
||||
"ROLLUP_OUTPUTS",
|
||||
"run_rollup",
|
||||
"run_sourcemapexplorer",
|
||||
"run_uglify",
|
||||
"run_terser",
|
||||
"write_rollup_config",
|
||||
)
|
||||
load("@build_bazel_rules_nodejs//internal/common:collect_es6_sources.bzl", collect_es2015_sources = "collect_es6_sources")
|
||||
@ -101,10 +101,12 @@ def _run_tsc(ctx, input, output):
|
||||
# Borrowed from bazelbuild/rules_nodejs, with the addition of brotli compression output
|
||||
def _plain_rollup_bundle(ctx):
|
||||
rollup_config = write_rollup_config(ctx)
|
||||
run_rollup(ctx, collect_es2015_sources(ctx), rollup_config, ctx.outputs.build_es6)
|
||||
_run_tsc(ctx, ctx.outputs.build_es6, ctx.outputs.build_es5)
|
||||
source_map = run_uglify(ctx, ctx.outputs.build_es5, ctx.outputs.build_es5_min)
|
||||
run_uglify(ctx, ctx.outputs.build_es5, ctx.outputs.build_es5_min_debug, debug = True)
|
||||
run_rollup(ctx, collect_es2015_sources(ctx), rollup_config, ctx.outputs.build_es2015)
|
||||
run_terser(ctx, ctx.outputs.build_es2015, ctx.outputs.build_es2015_min, config_name = ctx.label.name + "es2015_min")
|
||||
run_terser(ctx, ctx.outputs.build_es2015, ctx.outputs.build_es2015_min_debug, debug = True, config_name = ctx.label.name + "es2015_min_debug")
|
||||
_run_tsc(ctx, ctx.outputs.build_es2015, ctx.outputs.build_es5)
|
||||
source_map = run_terser(ctx, ctx.outputs.build_es5, ctx.outputs.build_es5_min)
|
||||
run_terser(ctx, ctx.outputs.build_es5, ctx.outputs.build_es5_min_debug, debug = True)
|
||||
umd_rollup_config = write_rollup_config(ctx, filename = "_%s_umd.rollup.conf.js", output_format = "umd")
|
||||
run_rollup(ctx, collect_es2015_sources(ctx), umd_rollup_config, ctx.outputs.build_umd)
|
||||
cjs_rollup_config = write_rollup_config(ctx, filename = "_%s_cjs.rollup.conf.js", output_format = "cjs")
|
||||
@ -123,25 +125,44 @@ def _ng_rollup_bundle(ctx):
|
||||
# We don't expect anyone to make use of this bundle yet, but it makes this rule
|
||||
# compatible with rollup_bundle which allows them to be easily swapped back and
|
||||
# forth.
|
||||
esm2015_rollup_config = write_rollup_config(ctx, filename = "_%s.rollup_es6.conf.js")
|
||||
run_rollup(ctx, collect_es2015_sources(ctx), esm2015_rollup_config, ctx.outputs.build_es6)
|
||||
esm2015_rollup_config = write_rollup_config(ctx, filename = "_%s.rollup_es2015.conf.js")
|
||||
esm2015_rollup_sourcemap = run_rollup(ctx, collect_es2015_sources(ctx), esm2015_rollup_config, ctx.outputs.build_es2015)
|
||||
|
||||
run_terser(
|
||||
ctx,
|
||||
ctx.outputs.build_es2015,
|
||||
ctx.outputs.build_es2015_min,
|
||||
config_name = ctx.label.name + "es2015_min",
|
||||
comments = False,
|
||||
in_source_map = esm2015_rollup_sourcemap,
|
||||
)
|
||||
run_terser(
|
||||
ctx,
|
||||
ctx.outputs.build_es2015,
|
||||
ctx.outputs.build_es2015_min_debug,
|
||||
config_name = ctx.label.name + "es2015_min_debug",
|
||||
debug = True,
|
||||
comments = False,
|
||||
)
|
||||
|
||||
esm5_sources = flatten_esm5(ctx)
|
||||
|
||||
rollup_config = write_rollup_config(ctx, [BO_PLUGIN], "/".join([ctx.bin_dir.path, ctx.label.package, esm5_root_dir(ctx)]))
|
||||
rollup_sourcemap = run_rollup(ctx, esm5_sources, rollup_config, ctx.outputs.build_es5)
|
||||
|
||||
sourcemap = run_uglify(
|
||||
sourcemap = run_terser(
|
||||
ctx,
|
||||
ctx.outputs.build_es5,
|
||||
ctx.outputs.build_es5_min,
|
||||
config_name = ctx.label.name + "es5_min",
|
||||
comments = False,
|
||||
in_source_map = rollup_sourcemap,
|
||||
)
|
||||
run_uglify(
|
||||
run_terser(
|
||||
ctx,
|
||||
ctx.outputs.build_es5,
|
||||
ctx.outputs.build_es5_min_debug,
|
||||
config_name = ctx.label.name + "es5_min_debug",
|
||||
debug = True,
|
||||
comments = False,
|
||||
)
|
||||
|
@ -46,7 +46,7 @@ function addDevDependenciesToPackageJson(options: Schema) {
|
||||
'@angular/upgrade': angularCoreVersion,
|
||||
'@bazel/bazel': '^0.23.0',
|
||||
'@bazel/ibazel': '^0.9.0',
|
||||
'@bazel/karma': '^0.26.0',
|
||||
'@bazel/karma': '^0.27.4',
|
||||
};
|
||||
|
||||
const recorder = host.beginUpdate(packageJson);
|
||||
|
Reference in New Issue
Block a user