From c438b5eedac9e177df43bfeabfed3ac35ea408f6 Mon Sep 17 00:00:00 2001 From: Greg Magolan Date: Thu, 10 May 2018 23:35:21 -0700 Subject: [PATCH] build(bazel): turn on preserve-symlinks (#24881) This change turns on preserve-symlinks in nodejs to verify hermeticity of the Angular build. BREAKING CHANGE: Use of @angular/bazel rules now requires calling ng_setup_workspace() in your WORKSPACE file. For example: local_repository( name = "angular", path = "node_modules/@angular/bazel", ) load("@angular//:index.bzl", "ng_setup_workspace") ng_setup_workspace() PR Close #24881 --- BUILD.bazel | 180 ++++++++++++++++++ WORKSPACE | 9 +- integration/bazel/WORKSPACE | 8 + integration/bazel/yarn.lock | 96 +++------- packages/bazel/index.bzl | 2 + packages/bazel/package.json | 2 - packages/bazel/src/ng_package/BUILD.bazel | 2 + packages/bazel/src/ng_package/ng_package.bzl | 6 +- packages/bazel/src/ng_package/package.json | 9 + packages/bazel/src/ng_package/yarn.lock | 127 ++++++++++++ packages/bazel/src/ng_setup_workspace.bzl | 20 ++ packages/bazel/src/ngc-wrapped/BUILD.bazel | 1 - .../elements/schematics/ng-add/BUILD.bazel | 4 +- tools/validate-commit-message/BUILD.bazel | 4 + 14 files changed, 389 insertions(+), 81 deletions(-) create mode 100644 packages/bazel/src/ng_package/package.json create mode 100644 packages/bazel/src/ng_package/yarn.lock create mode 100644 packages/bazel/src/ng_setup_workspace.bzl diff --git a/BUILD.bazel b/BUILD.bazel index 42cbb6a5a2..b255a31acd 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -17,18 +17,197 @@ alias( node_modules_filegroup( name = "node_modules", packages = [ + "adm-zip", + "ajv", + "angular", + "angular-1.5", + "angular-mocks", + "angular-mocks-1.5", + "anymatch", + "arr-diff", + "arr-flatten", + "arr-union", + "array-unique", + "asn1", + "assert-plus", + "assign-symbols", + "async-each", + "asynckit", + "atob", + "aws-sign2", + "aws4", + "balanced-match", + "base", + "base64-js", + "binary-extensions", + "blocking-proxy", + "brace-expansion", + "braces", "bytebuffer", + "cache-base", + "caseless", + "chokidar", + "class-utils", + "co", + "collection-visit", + "combined-stream", + "component-emitter", + "concat-map", + "copy-descriptor", + "core-util-is", + "debug", + "decode-uri-component", + "define-property", + "delayed-stream", + "domino", + "expand-brackets", + "expand-range", + "extend", + "extend-shallow", + "extglob", + "extsprintf", + "fast-deep-equal", + "fast-json-stable-stringify", + "filename-regex", + "fill-range", + "for-in", + "for-own", + "forever-agent", + "form-data", + "fragment-cache", + "fs.realpath", + "get-value", + "glob", + "glob-base", + "glob-parent", + "graceful-fs", "hammerjs", + "har-schema", + "har-validator", + "has-value", + "has-values", + "http-signature", + "https-proxy-agent", + "inflight", + "inherits", + "is-accessor-descriptor", + "is-binary-path", + "is-buffer", + "is-data-descriptor", + "is-descriptor", + "is-dotfile", + "is-equal-shallow", + "is-extendable", + "is-extglob", + "is-glob", + "is-number", + "is-plain-object", + "is-posix-bracket", + "is-primitive", + "is-typedarray", + "is-windows", + "isarray", + "isobject", + "isstream", "jasmine", + "jasmine-core", + "jasminewd2", + "json-schema", + "json-schema-traverse", + "json-stable-stringify", + "json-stringify-safe", + "jsprim", + "kind-of", + "long", + "lru-cache", + "map-cache", + "map-visit", + "math-random", + "micromatch", + "mime-db", + "mime-types", + "minimatch", "minimist", + "mixin-deep", + "nanomatch", + "normalize-path", + "oauth-sign", + "object.omit", + "object.pick", + "object-copy", + "object-visit", + "once", + "optimist", + "options", + "os-tmpdir", + "parse-glob", + "pascalcase", + "path-dirname", + "path-is-absolute", + "performance-now", + "posix-character-classes", + "preserve", + "process-nextick-args", "protobufjs", "protractor", + "qs", + "randomatic", + "readable-stream", + "readdirp", "reflect-metadata", + "regex-cache", + "regex-not", + "remove-trailing-separator", + "repeat-element", + "repeat-string", + "request", + "ret", + "rimraf", + "safe-buffer", + "safe-regex", + "sax", + "semver", + "set-immediate-shim", + "set-value", + "shelljs", + "sigmund", + "snapdragon", + "snapdragon-node", + "snapdragon-util", + "source-map", + "source-map-resolve", "source-map-support", + "source-map-url", + "split-string", + "sshpk", + "static-extend", + "stringstream", + "tmp", + "to-object-path", + "to-regex", + "to-regex-range", + "tough-cookie", "tsickle", "tslib", "tsutils", + "tunnel-agent", "typescript", + "union-value", + "unset-value", + "upath", + "uri-js", + "urix", + "use", + "util-deprecate", + "uuid", + "verror", + "webdriver-js-extender", + "webdriver-manager", + "wordwrap", + "wrappy", + "xhr2", + "xml2js", + "xmlbuilder", "zone.js", "@angular-devkit/core", "@angular-devkit/schematics", @@ -37,6 +216,7 @@ node_modules_filegroup( ], patterns = [ "node_modules/protractor/**", + "node_modules/@schematics/angular/**", ], ) diff --git a/WORKSPACE b/WORKSPACE index 05919663e4..d41d1848a9 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,7 +78,10 @@ http_archive( load("@build_bazel_rules_nodejs//:defs.bzl", "check_bazel_version", "node_repositories", "yarn_install") check_bazel_version("0.15.0") -node_repositories(package_json = ["//:package.json"]) +node_repositories( + package_json = ["//:package.json"], + preserve_symlinks = True, +) load("@io_bazel_rules_go//go:def.bzl", "go_rules_dependencies", "go_register_toolchains") @@ -97,6 +100,10 @@ load("@build_bazel_rules_typescript//:defs.bzl", "ts_setup_workspace") ts_setup_workspace() +load("//packages/bazel/src:ng_setup_workspace.bzl", "ng_setup_workspace") + +ng_setup_workspace() + # # Point Bazel to WORKSPACEs that live in subdirectories # diff --git a/integration/bazel/WORKSPACE b/integration/bazel/WORKSPACE index 1eb968725c..8fd3999ee0 100644 --- a/integration/bazel/WORKSPACE +++ b/integration/bazel/WORKSPACE @@ -81,3 +81,11 @@ local_repository( name = "rxjs", path = "node_modules/rxjs/src", ) + +# +# Load and install our dependencies from local repositories +# + +load("@angular//:index.bzl", "ng_setup_workspace") + +ng_setup_workspace() diff --git a/integration/bazel/yarn.lock b/integration/bazel/yarn.lock index 474faef7fb..6ad83a8e88 100644 --- a/integration/bazel/yarn.lock +++ b/integration/bazel/yarn.lock @@ -3,49 +3,47 @@ "@angular/animations@file:../../dist/packages-dist/animations": - version "6.1.0-beta.1" + version "6.1.0-beta.3" dependencies: tslib "^1.9.0" "@angular/bazel@file:../../dist/packages-dist/bazel": - version "6.1.0-beta.1" + version "6.1.0-beta.3" dependencies: "@bazel/typescript" "^0.15.0" "@types/node" "6.0.84" - "@types/shelljs" "0.7.7" protobufjs "5.0.0" - shelljs "0.7.8" "@angular/common@file:../../dist/packages-dist/common": - version "6.1.0-beta.1" + version "6.1.0-beta.3" dependencies: tslib "^1.9.0" "@angular/compiler-cli@file:../../dist/packages-dist/compiler-cli": - version "6.1.0-beta.1" + version "6.1.0-beta.3" dependencies: chokidar "^1.4.2" minimist "^1.2.0" reflect-metadata "^0.1.2" - tsickle "^0.29.0" + tsickle "^0.30.0" "@angular/compiler@file:../../dist/packages-dist/compiler": - version "6.1.0-beta.1" + version "6.1.0-beta.3" dependencies: tslib "^1.9.0" "@angular/core@file:../../dist/packages-dist/core": - version "6.1.0-beta.1" + version "6.1.0-beta.3" dependencies: tslib "^1.9.0" "@angular/platform-browser-dynamic@file:../../dist/packages-dist/platform-browser-dynamic": - version "6.1.0-beta.1" + version "6.1.0-beta.3" dependencies: tslib "^1.9.0" "@angular/platform-browser@file:../../dist/packages-dist/platform-browser": - version "6.1.0-beta.1" + version "6.1.0-beta.3" dependencies: tslib "^1.9.0" @@ -53,30 +51,10 @@ version "0.15.0" resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-0.15.0.tgz#bd588b8b9fcc5763c3f14787fdb29ba4e127258d" -"@types/events@*": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86" - -"@types/glob@*": - version "5.0.35" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.35.tgz#1ae151c802cece940443b5ac246925c85189f32a" - dependencies: - "@types/events" "*" - "@types/minimatch" "*" - "@types/node" "*" - "@types/jasmine@2.8.7": version "2.8.7" resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.8.7.tgz#3fe583928ae0a22cdd34cedf930eeffeda2602fd" -"@types/minimatch@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - -"@types/node@*": - version "10.3.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.3.4.tgz#c74e8aec19e555df44609b8057311052a2c84d9e" - "@types/node@6.0.84": version "6.0.84" resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.84.tgz#193ffe5a9f42864d425ffd9739d95b753c6a1eab" @@ -93,13 +71,6 @@ version "2.53.43" resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-2.53.43.tgz#2de3d718819bc20165754c4a59afb7e9833f6707" -"@types/shelljs@0.7.7": - version "0.7.7" - resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.7.7.tgz#1f7bfa28947661afea06365db9b1135bbc903ec4" - dependencies: - "@types/glob" "*" - "@types/node" "*" - "@types/source-map@0.5.1": version "0.5.1" resolved "https://registry.yarnpkg.com/@types/source-map/-/source-map-0.5.1.tgz#7e74db5d06ab373a712356eebfaea2fad0ea2367" @@ -403,6 +374,10 @@ detect-libc@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" +diff@^3.2.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -569,7 +544,7 @@ glob@^5.0.10: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6: +glob@^7.0.3, glob@^7.0.5, glob@^7.0.6: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -684,10 +659,6 @@ ini@^1.3.4, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" -interpret@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" - invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" @@ -792,6 +763,12 @@ jasmine-core@~2.99.0: version "2.99.1" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.99.1.tgz#e6400df1e6b56e130b61c4bcd093daa7f6e8ca15" +jasmine-diff@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/jasmine-diff/-/jasmine-diff-0.1.3.tgz#93ccc2dcc41028c5ddd4606558074839f2deeaa8" + dependencies: + diff "^3.2.0" + jasmine@^2.5.3: version "2.99.0" resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-2.99.0.tgz#8ca72d102e639b867c6489856e0e18a9c7aa42b7" @@ -1068,10 +1045,6 @@ path-is-inside@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -1192,12 +1165,6 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - reflect-metadata@^0.1.2: version "0.1.12" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.12.tgz#311bf0c6b63cd782f228a81abe146a2bfa9c56f2" @@ -1249,12 +1216,6 @@ requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" -resolve@^1.1.6: - version "1.8.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" - dependencies: - path-parse "^1.0.5" - rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" @@ -1323,14 +1284,6 @@ set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" -shelljs@0.7.8: - version "0.7.8" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -1440,10 +1393,11 @@ tough-cookie@~2.3.3: dependencies: punycode "^1.4.1" -tsickle@^0.29.0: - version "0.29.0" - resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.29.0.tgz#812806554bb46c1aa16eb0fe2a051da95ca8f5a4" +tsickle@^0.30.0: + version "0.30.0" + resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.30.0.tgz#7941146ae92933854a8742fa1047606c4536649b" dependencies: + jasmine-diff "^0.1.3" minimist "^1.2.0" mkdirp "^0.5.1" source-map "^0.6.0" @@ -1469,7 +1423,7 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" "typescript@file:../../node_modules/typescript": - version "2.8.3" + version "2.9.2" ultron@1.0.x: version "1.0.2" diff --git a/packages/bazel/index.bzl b/packages/bazel/index.bzl index 1cb77d4e52..ebf756931f 100644 --- a/packages/bazel/index.bzl +++ b/packages/bazel/index.bzl @@ -8,6 +8,7 @@ Users should not load files under "/src" """ load("//packages/bazel/src:ng_module.bzl", _ng_module = "ng_module") +load("//packages/bazel/src:ng_setup_workspace.bzl", _ng_setup_workspace = "ng_setup_workspace") load("//packages/bazel/src/ng_package:ng_package.bzl", _ng_package = "ng_package") load("//packages/bazel/src/protractor:protractor_web_test.bzl", _protractor_web_test = "protractor_web_test", @@ -17,3 +18,4 @@ ng_module = _ng_module ng_package = _ng_package protractor_web_test = _protractor_web_test protractor_web_test_suite = _protractor_web_test_suite +ng_setup_workspace = _ng_setup_workspace diff --git a/packages/bazel/package.json b/packages/bazel/package.json index 72464fafba..b922668a57 100644 --- a/packages/bazel/package.json +++ b/packages/bazel/package.json @@ -7,8 +7,6 @@ "dependencies": { "@bazel/typescript": "^0.15.0", "@types/node": "6.0.84", - "@types/shelljs": "0.7.7", - "shelljs": "0.7.8", "protobufjs": "5.0.0" }, "peerDependencies": { diff --git a/packages/bazel/src/ng_package/BUILD.bazel b/packages/bazel/src/ng_package/BUILD.bazel index 1080489e22..5f0438ca6c 100644 --- a/packages/bazel/src/ng_package/BUILD.bazel +++ b/packages/bazel/src/ng_package/BUILD.bazel @@ -14,6 +14,7 @@ exports_files(["rollup.config.js"]) ts_library( name = "lib", srcs = glob(["*.ts"]), + node_modules = "@angular_packager_deps//:node_modules", tsconfig = ":tsconfig.json", ) @@ -21,4 +22,5 @@ nodejs_binary( name = "packager", data = ["lib"], entry_point = "angular/packages/bazel/src/ng_package/packager.js", + node_modules = "@angular_packager_deps//:node_modules", ) diff --git a/packages/bazel/src/ng_package/ng_package.bzl b/packages/bazel/src/ng_package/ng_package.bzl index 875b3728e7..3350bb4cfd 100644 --- a/packages/bazel/src/ng_package/ng_package.bzl +++ b/packages/bazel/src/ng_package/ng_package.bzl @@ -226,11 +226,11 @@ def _ng_package_impl(ctx): esm2015_config = write_rollup_config(ctx, [], "/".join([ctx.bin_dir.path, ctx.label.package, _esm2015_root_dir(ctx)]), filename="_%s.rollup_esm2015.conf.js") esm5_config = write_rollup_config(ctx, [], "/".join([ctx.bin_dir.path, ctx.label.package, esm5_root_dir(ctx)]), filename="_%s.rollup_esm5.conf.js") - fesm2015.append(_rollup(ctx, "fesm2015", esm2015_config, es2015_entry_point, esm_2015_files, fesm2015_output)) - fesm5.append(_rollup(ctx, "fesm5", esm5_config, es5_entry_point, esm5_sources, fesm5_output)) + fesm2015.append(_rollup(ctx, "fesm2015", esm2015_config, es2015_entry_point, esm_2015_files + ctx.files.node_modules, fesm2015_output)) + fesm5.append(_rollup(ctx, "fesm5", esm5_config, es5_entry_point, esm5_sources + ctx.files.node_modules, fesm5_output)) bundles.append( - _rollup(ctx, "umd", esm5_config, es5_entry_point, esm5_sources, umd_output, + _rollup(ctx, "umd", esm5_config, es5_entry_point, esm5_sources + ctx.files.node_modules, umd_output, format = "umd", package_name = package_name, include_tslib = True)) uglify_sourcemap = run_uglify(ctx, umd_output, min_output, config_name = entry_point.replace("/", "_")) diff --git a/packages/bazel/src/ng_package/package.json b/packages/bazel/src/ng_package/package.json new file mode 100644 index 0000000000..5bdd3ddceb --- /dev/null +++ b/packages/bazel/src/ng_package/package.json @@ -0,0 +1,9 @@ +{ + "description": "runtime dependences for packager", + "devDependencies": { + "@types/node": "6.0.84", + "@types/shelljs": "0.7.7", + "shelljs": "0.8.2", + "typescript": "2.7.2" + } +} diff --git a/packages/bazel/src/ng_package/yarn.lock b/packages/bazel/src/ng_package/yarn.lock new file mode 100644 index 0000000000..4730fcb12b --- /dev/null +++ b/packages/bazel/src/ng_package/yarn.lock @@ -0,0 +1,127 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/events@*": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86" + +"@types/glob@*": + version "5.0.35" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.35.tgz#1ae151c802cece940443b5ac246925c85189f32a" + dependencies: + "@types/events" "*" + "@types/minimatch" "*" + "@types/node" "*" + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + +"@types/node@*": + version "10.0.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.0.8.tgz#37b4d91d4e958e4c2ba0be2b86e7ed4ff19b0858" + +"@types/node@6.0.84": + version "6.0.84" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.84.tgz#193ffe5a9f42864d425ffd9739d95b753c6a1eab" + +"@types/shelljs@0.7.7": + version "0.7.7" + resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.7.7.tgz#1f7bfa28947661afea06365db9b1135bbc903ec4" + dependencies: + "@types/glob" "*" + "@types/node" "*" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +glob@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +interpret@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-parse@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +resolve@^1.1.6: + version "1.7.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" + dependencies: + path-parse "^1.0.5" + +shelljs@0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.2.tgz#345b7df7763f4c2340d584abb532c5f752ca9e35" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +typescript@2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.2.tgz#2d615a1ef4aee4f574425cdff7026edf81919836" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" diff --git a/packages/bazel/src/ng_setup_workspace.bzl b/packages/bazel/src/ng_setup_workspace.bzl new file mode 100644 index 0000000000..95c83ee633 --- /dev/null +++ b/packages/bazel/src/ng_setup_workspace.bzl @@ -0,0 +1,20 @@ +# Copyright Google Inc. All Rights Reserved. +# +# Use of this source code is governed by an MIT-style license that can be +# found in the LICENSE file at https://angular.io/license + +"Install toolchain dependencies" + +load("@build_bazel_rules_nodejs//:defs.bzl", "yarn_install") + +def ng_setup_workspace(): + """This repository rule should be called from your WORKSPACE file. + + It creates some additional Bazel external repositories that are used internally + by the Angular rules. + """ + yarn_install( + name = "angular_packager_deps", + package_json = "@angular//packages/bazel/src/ng_package:package.json", + yarn_lock = "@angular//packages/bazel/src/ng_package:yarn.lock", + ) diff --git a/packages/bazel/src/ngc-wrapped/BUILD.bazel b/packages/bazel/src/ngc-wrapped/BUILD.bazel index cedd7e5c2e..3aa7d15b0a 100644 --- a/packages/bazel/src/ngc-wrapped/BUILD.bazel +++ b/packages/bazel/src/ngc-wrapped/BUILD.bazel @@ -33,7 +33,6 @@ nodejs_binary( "@build_bazel_rules_typescript//internal:worker_protocol.proto", ], entry_point = "angular/packages/bazel/src/ngc-wrapped/index.js", - node_modules = "@build_bazel_rules_typescript_tsc_wrapped_deps//:node_modules", visibility = ["//visibility:public"], ) diff --git a/packages/elements/schematics/ng-add/BUILD.bazel b/packages/elements/schematics/ng-add/BUILD.bazel index fb9d93fc02..28bdcb0a2d 100644 --- a/packages/elements/schematics/ng-add/BUILD.bazel +++ b/packages/elements/schematics/ng-add/BUILD.bazel @@ -37,10 +37,8 @@ ts_library( jasmine_node_test( name = "test", - data = [ - "//packages/elements/schematics:collection.json", - ], deps = [ ":test_lib", + "//packages/elements/schematics:collection", ], ) diff --git a/tools/validate-commit-message/BUILD.bazel b/tools/validate-commit-message/BUILD.bazel index 7570f699b8..06b1402f43 100644 --- a/tools/validate-commit-message/BUILD.bazel +++ b/tools/validate-commit-message/BUILD.bazel @@ -3,4 +3,8 @@ load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") jasmine_node_test( name = "validate-commit-message", srcs = glob(["*.js"]), + data = [ + "commit-message.json", + "spec/support/jasmine.json", + ], )