@ -8,6 +8,8 @@ filegroup(
|
||||
# For generating skydoc
|
||||
exports_files(glob(["*.bzl"]))
|
||||
|
||||
load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary")
|
||||
|
||||
nodejs_binary(
|
||||
name = "rollup_with_build_optimizer",
|
||||
data = [
|
||||
|
@ -170,11 +170,6 @@ esm5_outputs_aspect = aspect(
|
||||
executable = True,
|
||||
cfg = "host",
|
||||
),
|
||||
"_tsc_wrapped": attr.label(
|
||||
default = Label("@build_bazel_rules_typescript//:@bazel/typescript/tsc_wrapped"),
|
||||
executable = True,
|
||||
cfg = "host",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
|
@ -244,8 +244,6 @@ def _expected_outs(ctx):
|
||||
# TODO(alxhub): i18n is only produced by the legacy compiler currently. This should be re-enabled
|
||||
# when ngtsc can extract messages
|
||||
if is_legacy_ngc:
|
||||
# TODO(manekinekko): due to bazelbuild/bazel#4858 we cannot fix the call to ctx.new_file(genfiles_dir)
|
||||
# so the rule is turned off for now.
|
||||
i18n_messages_files = [ctx.new_file(ctx.genfiles_dir, ctx.label.name + "_ngc_messages.xmb")]
|
||||
else:
|
||||
i18n_messages_files = []
|
||||
@ -270,9 +268,9 @@ def _ngc_tsconfig(ctx, files, srcs, **kwargs):
|
||||
expected_outs = outs.closure_js
|
||||
|
||||
angular_compiler_options = {
|
||||
"allowEmptyCodegenFiles": True,
|
||||
"enableIvy": _enable_ivy_value(ctx),
|
||||
"enableResourceInlining": ctx.attr.inline_resources,
|
||||
"generateCodeForLibraries": False,
|
||||
"allowEmptyCodegenFiles": True,
|
||||
# Summaries are only enabled if Angular outputs are to be produced.
|
||||
"enableSummariesForJit": is_legacy_ngc,
|
||||
"enableIvy": _enable_ivy_value(ctx),
|
||||
@ -539,8 +537,8 @@ def ng_module_impl(ctx, ts_compile_actions):
|
||||
|
||||
if is_legacy_ngc:
|
||||
providers["angular"] = {
|
||||
"metadata": outs.metadata,
|
||||
"summaries": outs.summaries,
|
||||
"metadata": outs.metadata,
|
||||
}
|
||||
providers["ngc_messages"] = outs.i18n_messages
|
||||
|
||||
@ -570,6 +568,13 @@ local_deps_aspects = [collect_node_modules_aspect, _collect_summaries_aspect]
|
||||
|
||||
NG_MODULE_ATTRIBUTES = {
|
||||
"srcs": attr.label_list(allow_files = [".ts"]),
|
||||
|
||||
# Note: DEPS_ASPECTS is already a list, we add the cast to workaround
|
||||
# https://github.com/bazelbuild/skydoc/issues/21
|
||||
"deps": attr.label_list(
|
||||
doc = "Targets that are imported by this target",
|
||||
aspects = local_deps_aspects,
|
||||
),
|
||||
"assets": attr.label_list(
|
||||
doc = ".html and .css files needed by the Angular compiler",
|
||||
allow_files = [
|
||||
@ -578,6 +583,14 @@ NG_MODULE_ATTRIBUTES = {
|
||||
".html",
|
||||
],
|
||||
),
|
||||
"factories": attr.label_list(
|
||||
allow_files = [".ts", ".html"],
|
||||
mandatory = False,
|
||||
),
|
||||
"filter_summaries": attr.bool(default = False),
|
||||
"type_check": attr.bool(default = True),
|
||||
"inline_resources": attr.bool(default = True),
|
||||
"no_i18n": attr.bool(default = False),
|
||||
"compiler": attr.label(
|
||||
doc = """Sets a different ngc compiler binary to use for this library.
|
||||
|
||||
@ -592,40 +605,16 @@ NG_MODULE_ATTRIBUTES = {
|
||||
executable = True,
|
||||
cfg = "host",
|
||||
),
|
||||
"factories": attr.label_list(
|
||||
allow_files = [".ts", ".html"],
|
||||
mandatory = False,
|
||||
),
|
||||
"filter_summaries": attr.bool(default = False),
|
||||
"inline_resources": attr.bool(default = True),
|
||||
"ng_xi18n": attr.label(
|
||||
default = Label(DEFAULT_NG_XI18N),
|
||||
executable = True,
|
||||
cfg = "host",
|
||||
),
|
||||
"no_i18n": attr.bool(default = False),
|
||||
"type_check": attr.bool(default = True),
|
||||
|
||||
# Note: DEPS_ASPECTS is already a list, we add the cast to workaround
|
||||
# https://github.com/bazelbuild/skydoc/issues/21
|
||||
"deps": attr.label_list(
|
||||
doc = "Targets that are imported by this target",
|
||||
aspects = local_deps_aspects,
|
||||
),
|
||||
"_supports_workers": attr.bool(default = True),
|
||||
}
|
||||
|
||||
NG_MODULE_RULE_ATTRS = dict(dict(COMMON_ATTRIBUTES, **NG_MODULE_ATTRIBUTES), **{
|
||||
"entry_point": attr.string(),
|
||||
|
||||
# Default is %{name}_public_index
|
||||
# The suffix points to the generated "bundle index" files that users import from
|
||||
# The default is intended to avoid collisions with the users input files.
|
||||
# Later packaging rules will point to these generated files as the entry point
|
||||
# into the package.
|
||||
# See the flatModuleOutFile documentation in
|
||||
# https://github.com/angular/angular/blob/master/packages/compiler-cli/src/transformers/api.ts
|
||||
"flat_module_out_file": attr.string(),
|
||||
"tsconfig": attr.label(allow_single_file = True),
|
||||
"node_modules": attr.label(
|
||||
doc = """The npm packages which should be available during the compile.
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary")
|
||||
|
||||
# BEGIN-DEV-ONLY
|
||||
|
@ -16,12 +16,6 @@ specification of this format at https://goo.gl/jB3GVv
|
||||
load("@build_bazel_rules_nodejs//internal/common:collect_es6_sources.bzl", "collect_es6_sources")
|
||||
load("@build_bazel_rules_nodejs//internal/common:node_module_info.bzl", "NodeModuleInfo")
|
||||
load("@build_bazel_rules_nodejs//internal/common:sources_aspect.bzl", "sources_aspect")
|
||||
load(
|
||||
"@build_bazel_rules_nodejs//:internal/npm_package/npm_package.bzl",
|
||||
"NPM_PACKAGE_ATTRS",
|
||||
"NPM_PACKAGE_OUTPUTS",
|
||||
"create_package",
|
||||
)
|
||||
load(
|
||||
"@build_bazel_rules_nodejs//:internal/rollup/rollup_bundle.bzl",
|
||||
"ROLLUP_ATTRS",
|
||||
@ -38,7 +32,6 @@ load(
|
||||
load("//packages/bazel/src:external.bzl", "FLAT_DTS_FILE_SUFFIX")
|
||||
load("//packages/bazel/src:esm5.bzl", "esm5_outputs_aspect", "esm5_root_dir", "flatten_esm5")
|
||||
load("//packages/bazel/src/ng_package:collect-type-definitions.bzl", "collect_type_definitions")
|
||||
load("//packages/bazel/src:esm5.bzl", "esm5_outputs_aspect", "esm5_root_dir", "flatten_esm5")
|
||||
|
||||
_DEFAULT_NG_PACKAGER = "@npm//@angular/bazel/bin:packager"
|
||||
|
||||
@ -343,8 +336,8 @@ def _ng_package_impl(ctx):
|
||||
packager_inputs.extend([m.metadata_file])
|
||||
metadata_arg[m.module_name] = {
|
||||
"index": m.typings_file.path.replace(".d.ts", ".js"),
|
||||
"metadata": m.metadata_file.path,
|
||||
"typings": m.typings_file.path,
|
||||
"metadata": m.metadata_file.path,
|
||||
}
|
||||
packager_args.add(str(metadata_arg))
|
||||
|
||||
@ -408,6 +401,7 @@ DEPS_ASPECTS = [esm5_outputs_aspect, sources_aspect]
|
||||
|
||||
NG_PACKAGE_ATTRS = dict(NPM_PACKAGE_ATTRS, **dict(ROLLUP_ATTRS, **{
|
||||
"srcs": attr.label_list(allow_files = True),
|
||||
"deps": attr.label_list(aspects = DEPS_ASPECTS),
|
||||
"data": attr.label_list(
|
||||
doc = "Additional, non-Angular files to be added to the package, e.g. global CSS assets.",
|
||||
allow_files = True,
|
||||
@ -418,15 +412,11 @@ NG_PACKAGE_ATTRS = dict(NPM_PACKAGE_ATTRS, **dict(ROLLUP_ATTRS, **{
|
||||
"entry_point_name": attr.string(
|
||||
doc = "Name to use when generating bundle files for the primary entry-point.",
|
||||
),
|
||||
"globals": attr.string_dict(default = {}),
|
||||
"include_devmode_srcs": attr.bool(default = False),
|
||||
"ng_packager": attr.label(
|
||||
default = Label(_DEFAULT_NG_PACKAGER),
|
||||
executable = True,
|
||||
cfg = "host",
|
||||
),
|
||||
"readme_md": attr.label(allow_single_file = [".md"]),
|
||||
"deps": attr.label_list(aspects = DEPS_ASPECTS),
|
||||
"_rollup": attr.label(
|
||||
default = Label("@build_bazel_rules_nodejs//internal/rollup"),
|
||||
executable = True,
|
||||
@ -489,8 +479,8 @@ def ng_package_outputs(name, entry_point, entry_point_name):
|
||||
|
||||
basename = primary_entry_point_name(name, entry_point, entry_point_name)
|
||||
outputs = {
|
||||
"fesm2015": "fesm2015/%s.js" % basename,
|
||||
"fesm5": "fesm5/%s.js" % basename,
|
||||
"fesm2015": "fesm2015/%s.js" % basename,
|
||||
"umd": "%s.umd.js" % basename,
|
||||
"umd_min": "%s.umd.min.js" % basename,
|
||||
}
|
||||
|
@ -2,8 +2,6 @@ package(default_visibility = ["//visibility:public"])
|
||||
|
||||
load("@npm_bazel_typescript//:defs.bzl", "ts_library")
|
||||
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
ts_library(
|
||||
name = "utils",
|
||||
srcs = ["index.ts"],
|
||||
|
Reference in New Issue
Block a user