refactor(bazel): Schematics should fetch angular from distro (#28851)
PR Close #28851
This commit is contained in:
parent
96b597cfd0
commit
e5e4e63e71
|
@ -3,6 +3,7 @@
|
|||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"postinstall": "ngc -p ./angular-metadata.tsconfig.json",
|
||||
"start": "ng serve",
|
||||
"build": "ng build",
|
||||
"test": "ng test",
|
||||
|
@ -27,10 +28,11 @@
|
|||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "~0.12.0",
|
||||
"@angular/bazel": "file:../angular/dist/packages-dist/bazel",
|
||||
"@angular/cli": "~7.2.1",
|
||||
"@angular/cli": "~7.3.0",
|
||||
"@angular/compiler-cli": "file:../angular/dist/packages-dist/compiler-cli",
|
||||
"@angular/language-service": "file:../angular/dist/packages-dist/language-service",
|
||||
"@bazel/bazel": "^0.21.0",
|
||||
"@angular/upgrade": "file:../angular/dist/packages-dist/upgrade",
|
||||
"@bazel/bazel": "^0.22.1",
|
||||
"@bazel/ibazel": "^0.9.0",
|
||||
"@bazel/karma": "^0.23.2",
|
||||
"@bazel/typescript": "^0.23.2",
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
// TODO(kyliau): This file should be removed when we use Angular npm distro from
|
||||
// Bazel projects.
|
||||
|
||||
const fs = require('fs');
|
||||
|
||||
function replaceAngular(content) {
|
||||
const regex = /ANGULAR_VERSION.*\nhttp_archive\((.*\n){4}\)/;
|
||||
if (!regex.test(content)) {
|
||||
throw new Error('Failed to find http_archive rule for Angular in WORKSPACE');
|
||||
}
|
||||
return content.replace(regex, `
|
||||
local_repository(
|
||||
name = "angular",
|
||||
path = "../../..",
|
||||
)`);
|
||||
}
|
||||
|
||||
function main(argv) {
|
||||
argv = argv.slice(2);
|
||||
if (argv.length !== 1) {
|
||||
throw new Error('Expect WORKSPACE to be first parameter');
|
||||
}
|
||||
const workspace = argv[0];
|
||||
let content = fs.readFileSync(workspace, 'utf-8');
|
||||
content = replaceAngular(content);
|
||||
fs.writeFileSync(workspace, content);
|
||||
}
|
||||
|
||||
main(process.argv)
|
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -eux -o pipefail
|
||||
readonly pwd=$(pwd)
|
||||
|
||||
function testBazel() {
|
||||
# Set up
|
||||
|
@ -8,12 +9,12 @@ function testBazel() {
|
|||
ng version
|
||||
rm -rf demo
|
||||
# Create project
|
||||
ng new demo --collection=@angular/bazel --defaults --skip-git --style=scss
|
||||
node replace_angular_repo.js "./demo/WORKSPACE"
|
||||
ng new demo --collection=@angular/bazel --defaults --skip-git --skip-install --style=scss
|
||||
cd demo
|
||||
yarn add @angular/bazel@file:../../../dist/packages-dist/bazel
|
||||
yarn webdriver-manager update --gecko=false --standalone=false $CI_CHROMEDRIVER_VERSION_ARG
|
||||
cp ../package.json.replace ./package.json
|
||||
sed -i "s#file:../angular#${pwd}/../..#" ./package.json
|
||||
yarn
|
||||
yarn webdriver-manager update --gecko=false --standalone=false $CI_CHROMEDRIVER_VERSION_ARG
|
||||
ng generate component widget --style=css
|
||||
ng build
|
||||
ng test
|
||||
|
@ -23,7 +24,9 @@ function testBazel() {
|
|||
function testNonBazel() {
|
||||
# Replace angular.json that uses Bazel builder with the default generated by CLI
|
||||
mv ./angular.json.bak ./angular.json
|
||||
mv ./tsconfig.json.bak ./tsconfig.json
|
||||
rm -rf dist src/main.dev.ts src/main.prod.ts
|
||||
sed -i 's/"es5BrowserSupport": true//' angular.json
|
||||
ng build --progress=false
|
||||
ng test --progress=false --watch=false
|
||||
ng e2e --configuration=production --webdriver-update=false
|
||||
|
|
|
@ -68,12 +68,13 @@
|
|||
rxjs "6.3.3"
|
||||
|
||||
"@angular/bazel@file:../../dist/packages-dist/bazel":
|
||||
version "8.0.0-beta.2"
|
||||
version "8.0.0-beta.4"
|
||||
dependencies:
|
||||
"@angular-devkit/architect" "^0.10.6"
|
||||
"@angular-devkit/core" "^7.0.4"
|
||||
"@angular-devkit/schematics" "^7.3.0-rc.0"
|
||||
"@bazel/typescript" "^0.23.2"
|
||||
"@microsoft/api-extractor" "^7.0.17"
|
||||
"@schematics/angular" "^7.0.4"
|
||||
"@types/node" "6.0.84"
|
||||
semver "^5.6.0"
|
||||
|
@ -130,6 +131,51 @@
|
|||
source-map-support "0.5.9"
|
||||
tsutils "2.27.2"
|
||||
|
||||
"@microsoft/api-extractor@^7.0.17":
|
||||
version "7.0.18"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.0.18.tgz#4eb931436495177dfcef8f2d8da3d084d10eebb6"
|
||||
integrity sha512-puQisjyoYK1A0I8DqyBoLPV9noyFUlxTE3WsjhgJw//TrmegGHYmsRlD3rnHeXcKPM1F7sd/VKJXeXC3IPTf2Q==
|
||||
dependencies:
|
||||
"@microsoft/node-core-library" "3.10.0"
|
||||
"@microsoft/ts-command-line" "4.2.3"
|
||||
"@microsoft/tsdoc" "0.12.5"
|
||||
"@types/node" "8.5.8"
|
||||
"@types/z-schema" "3.16.31"
|
||||
colors "~1.2.1"
|
||||
lodash "~4.17.5"
|
||||
resolve "1.8.1"
|
||||
typescript "~3.1.6"
|
||||
z-schema "~3.18.3"
|
||||
|
||||
"@microsoft/node-core-library@3.10.0":
|
||||
version "3.10.0"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/node-core-library/-/node-core-library-3.10.0.tgz#70e089534d8e20f6a0f9c7a4a12a6aeafd6a1ddb"
|
||||
integrity sha512-1SbU+XNYAabhV9noGXHtsUVPc5ELV+oEuJQtZQoCncbOd6WAMeTgB1xFwh96hmdEXyKQyML/pnByiKocmh/nbQ==
|
||||
dependencies:
|
||||
"@types/fs-extra" "5.0.4"
|
||||
"@types/jju" "~1.4.0"
|
||||
"@types/node" "8.5.8"
|
||||
"@types/z-schema" "3.16.31"
|
||||
colors "~1.2.1"
|
||||
fs-extra "~7.0.1"
|
||||
jju "~1.4.0"
|
||||
z-schema "~3.18.3"
|
||||
|
||||
"@microsoft/ts-command-line@4.2.3":
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ts-command-line/-/ts-command-line-4.2.3.tgz#20d6a1684148b9fc0df25ee7335c3bb227d47d4f"
|
||||
integrity sha512-SIs4q7RcG7efBbh5Ffrf6V4jVLxWihD4NDRY3+gPiOG8CYawBzE22tTEloZ1yj/FBvBZQkQ0GYwXoPhn6ElYXA==
|
||||
dependencies:
|
||||
"@types/argparse" "1.0.33"
|
||||
"@types/node" "8.5.8"
|
||||
argparse "~1.0.9"
|
||||
colors "~1.2.1"
|
||||
|
||||
"@microsoft/tsdoc@0.12.5":
|
||||
version "0.12.5"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.12.5.tgz#c448a38902ccb5601c1b2ef3b1a105012ef7712c"
|
||||
integrity sha512-xEAyvLXo4Cter/b0EMCWUZTgXOfLOPJ/Xr52WdjVclPx9eDmNTGFtZl8Pn/nqSnZsQBNcHL0eHk/YyRyyXXpiQ==
|
||||
|
||||
"@schematics/angular@7.3.0-rc.0":
|
||||
version "7.3.0-rc.0"
|
||||
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-7.3.0-rc.0.tgz#7519aa692dcaed63b9caa7d824846511905b1bfc"
|
||||
|
@ -162,11 +208,43 @@
|
|||
semver "5.6.0"
|
||||
semver-intersect "1.4.0"
|
||||
|
||||
"@types/argparse@1.0.33":
|
||||
version "1.0.33"
|
||||
resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.33.tgz#2728669427cdd74a99e53c9f457ca2866a37c52d"
|
||||
integrity sha512-VQgHxyPMTj3hIlq9SY1mctqx+Jj8kpQfoLvDlVSDNOyuYs8JYfkuY3OW/4+dO657yPmNhHpePRx0/Tje5ImNVQ==
|
||||
|
||||
"@types/fs-extra@5.0.4":
|
||||
version "5.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.4.tgz#b971134d162cc0497d221adde3dbb67502225599"
|
||||
integrity sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/jju@~1.4.0":
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/jju/-/jju-1.4.1.tgz#0a39f5f8e84fec46150a7b9ca985c3f89ad98e9f"
|
||||
integrity sha512-LFt+YA7Lv2IZROMwokZKiPNORAV5N3huMs3IKnzlE430HWhWYZ8b+78HiwJXJJP1V2IEjinyJURuRJfGoaFSIA==
|
||||
|
||||
"@types/node@*":
|
||||
version "11.9.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-11.9.4.tgz#ceb0048a546db453f6248f2d1d95e937a6f00a14"
|
||||
integrity sha512-Zl8dGvAcEmadgs1tmSPcvwzO1YRsz38bVJQvH1RvRqSR9/5n61Q1ktcDL0ht3FXWR+ZpVmXVwN1LuH4Ax23NsA==
|
||||
|
||||
"@types/node@6.0.84":
|
||||
version "6.0.84"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.84.tgz#193ffe5a9f42864d425ffd9739d95b753c6a1eab"
|
||||
integrity sha512-1SvEazClhUBRNroJM3oB3xf3u2r6xGmHDGbdigqNPHvNKLl8/BtATgO9eC04ZLuovpSh0B20BF1QJxdi+qmTlg==
|
||||
|
||||
"@types/node@8.5.8":
|
||||
version "8.5.8"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.8.tgz#92509422653f10e9c0ac18d87e0610b39f9821c7"
|
||||
integrity sha512-8KmlRxwbKZfjUHFIt3q8TF5S2B+/E5BaAoo/3mgc5h6FJzqxXkCK/VMetO+IRDtwtU6HUvovHMBn+XRj7SV9Qg==
|
||||
|
||||
"@types/z-schema@3.16.31":
|
||||
version "3.16.31"
|
||||
resolved "https://registry.yarnpkg.com/@types/z-schema/-/z-schema-3.16.31.tgz#2eb1d00a5e4ec3fa58c76afde12e182b66dc5c1c"
|
||||
integrity sha1-LrHQCl5Ow/pYx2r94S4YK2bcXBw=
|
||||
|
||||
"@yarnpkg/lockfile@1.1.0":
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31"
|
||||
|
@ -277,6 +355,13 @@ are-we-there-yet@~1.1.2:
|
|||
delegates "^1.0.0"
|
||||
readable-stream "^2.0.6"
|
||||
|
||||
argparse@~1.0.9:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
|
||||
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
|
||||
dependencies:
|
||||
sprintf-js "~1.0.2"
|
||||
|
||||
arr-diff@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
|
||||
|
@ -529,11 +614,21 @@ color-name@1.1.3:
|
|||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
|
||||
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
|
||||
|
||||
colors@~1.2.1:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc"
|
||||
integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==
|
||||
|
||||
colour@~0.7.1:
|
||||
version "0.7.1"
|
||||
resolved "https://registry.yarnpkg.com/colour/-/colour-0.7.1.tgz#9cb169917ec5d12c0736d3e8685746df1cadf778"
|
||||
integrity sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=
|
||||
|
||||
commander@^2.7.1:
|
||||
version "2.19.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
|
||||
integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
|
||||
|
||||
component-emitter@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
|
||||
|
@ -811,6 +906,15 @@ from2@^2.1.0:
|
|||
inherits "^2.0.1"
|
||||
readable-stream "^2.0.0"
|
||||
|
||||
fs-extra@~7.0.1:
|
||||
version "7.0.1"
|
||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
|
||||
integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
|
||||
dependencies:
|
||||
graceful-fs "^4.1.2"
|
||||
jsonfile "^4.0.0"
|
||||
universalify "^0.1.0"
|
||||
|
||||
fs-minipass@^1.2.5:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
|
||||
|
@ -892,7 +996,7 @@ glob@^7.0.0, glob@^7.0.5, glob@^7.1.3:
|
|||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2:
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
|
||||
version "4.1.15"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
|
||||
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
|
||||
|
@ -1211,6 +1315,11 @@ jasmine-core@2.8.0:
|
|||
resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e"
|
||||
integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=
|
||||
|
||||
jju@~1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a"
|
||||
integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo=
|
||||
|
||||
json-parse-better-errors@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
|
||||
|
@ -1221,6 +1330,13 @@ json-schema-traverse@^0.4.1:
|
|||
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
|
||||
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
|
||||
|
||||
jsonfile@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
|
||||
integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
|
||||
optionalDependencies:
|
||||
graceful-fs "^4.1.6"
|
||||
|
||||
jsonparse@^1.2.0:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
|
||||
|
@ -1262,7 +1378,17 @@ lodash.debounce@^4.0.8:
|
|||
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
|
||||
integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
|
||||
|
||||
lodash@^4.17.10:
|
||||
lodash.get@^4.0.0:
|
||||
version "4.4.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
|
||||
integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
|
||||
|
||||
lodash.isequal@^4.0.0:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
|
||||
integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
|
||||
|
||||
lodash@^4.17.10, lodash@~4.17.5:
|
||||
version "4.17.11"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
|
||||
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
|
||||
|
@ -1706,7 +1832,7 @@ path-is-absolute@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
||||
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
|
||||
|
||||
path-parse@^1.0.6:
|
||||
path-parse@^1.0.5, path-parse@^1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
|
||||
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
|
||||
|
@ -1853,6 +1979,13 @@ resolve-url@^0.2.1:
|
|||
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
|
||||
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
|
||||
|
||||
resolve@1.8.1:
|
||||
version "1.8.1"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
|
||||
integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
|
||||
dependencies:
|
||||
path-parse "^1.0.5"
|
||||
|
||||
resolve@^1.1.6:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
|
||||
|
@ -2102,6 +2235,11 @@ split-string@^3.0.1, split-string@^3.0.2:
|
|||
dependencies:
|
||||
extend-shallow "^3.0.0"
|
||||
|
||||
sprintf-js@~1.0.2:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
||||
|
||||
ssri@^6.0.0, ssri@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
|
||||
|
@ -2281,6 +2419,11 @@ typescript@3.2.2:
|
|||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.2.tgz#fe8101c46aa123f8353523ebdcf5730c2ae493e5"
|
||||
integrity sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==
|
||||
|
||||
typescript@~3.1.6:
|
||||
version "3.1.6"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68"
|
||||
integrity sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==
|
||||
|
||||
union-value@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
|
||||
|
@ -2305,6 +2448,11 @@ unique-slug@^2.0.0:
|
|||
dependencies:
|
||||
imurmurhash "^0.1.4"
|
||||
|
||||
universalify@^0.1.0:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
|
||||
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
|
||||
|
||||
unset-value@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
|
||||
|
@ -2355,6 +2503,11 @@ validate-npm-package-name@^3.0.0:
|
|||
dependencies:
|
||||
builtins "^1.0.3"
|
||||
|
||||
validator@^8.0.0:
|
||||
version "8.2.0"
|
||||
resolved "https://registry.yarnpkg.com/validator/-/validator-8.2.0.tgz#3c1237290e37092355344fef78c231249dab77b9"
|
||||
integrity sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==
|
||||
|
||||
which@^1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
||||
|
@ -2424,3 +2577,14 @@ yargs@^3.10.0:
|
|||
string-width "^1.0.1"
|
||||
window-size "^0.1.4"
|
||||
y18n "^3.2.0"
|
||||
|
||||
z-schema@~3.18.3:
|
||||
version "3.18.4"
|
||||
resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-3.18.4.tgz#ea8132b279533ee60be2485a02f7e3e42541a9a2"
|
||||
integrity sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw==
|
||||
dependencies:
|
||||
lodash.get "^4.0.0"
|
||||
lodash.isequal "^4.0.0"
|
||||
validator "^8.0.0"
|
||||
optionalDependencies:
|
||||
commander "^2.7.1"
|
||||
|
|
|
@ -20,14 +20,6 @@ http_archive(
|
|||
url = "https://github.com/bazelbuild/rules_nodejs/releases/download/%s/rules_nodejs-%s.tar.gz" % (RULES_NODEJS_VERSION, RULES_NODEJS_VERSION),
|
||||
)
|
||||
|
||||
# The @angular repo contains rule for building Angular applications
|
||||
ANGULAR_VERSION = "<%= ANGULAR_VERSION %>"
|
||||
http_archive(
|
||||
name = "angular",
|
||||
url = "https://github.com/angular/angular/archive/%s.zip" % ANGULAR_VERSION,
|
||||
strip_prefix = "angular-%s" % ANGULAR_VERSION,
|
||||
)
|
||||
|
||||
<% if (sass) { %>
|
||||
# Rules for compiling sass
|
||||
RULES_SASS_VERSION = "<%= RULES_SASS_VERSION %>"
|
||||
|
@ -46,9 +38,7 @@ check_bazel_version("0.18.0")
|
|||
node_repositories()
|
||||
yarn_install(
|
||||
name = "npm",
|
||||
# Need a reference to @angular here so that Bazel sets up the
|
||||
# external repository before calling yarn_install
|
||||
data = ["@angular//:LICENSE"],
|
||||
data = ["//:angular-metadata.tsconfig.json"],
|
||||
package_json = "//:package.json",
|
||||
yarn_lock = "//:yarn.lock",
|
||||
)
|
||||
|
@ -72,5 +62,5 @@ ts_setup_workspace()
|
|||
load("@io_bazel_rules_sass//sass:sass_repositories.bzl", "sass_repositories")
|
||||
sass_repositories()
|
||||
<% } %>
|
||||
load("@angular//:index.bzl", "ng_setup_workspace")
|
||||
load("@npm_angular_bazel//:index.bzl", "ng_setup_workspace")
|
||||
ng_setup_workspace()
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
|
||||
load("@angular//:index.bzl", "protractor_web_test_suite")
|
||||
load("@npm_angular_bazel//:index.bzl", "protractor_web_test_suite")
|
||||
|
||||
ts_library(
|
||||
name = "e2e_lib",
|
||||
|
@ -22,7 +22,7 @@ ts_library(
|
|||
protractor_web_test_suite(
|
||||
name = "prodserver_test",
|
||||
data = [
|
||||
"@angular//" + "packages/bazel/src/protractor/utils",
|
||||
"@npm//@angular/bazel",
|
||||
"@npm//protractor",
|
||||
],
|
||||
on_prepare = ":protractor.on-prepare.js",
|
||||
|
@ -33,7 +33,7 @@ protractor_web_test_suite(
|
|||
protractor_web_test_suite(
|
||||
name = "devserver_test",
|
||||
data = [
|
||||
"@angular//" + "packages/bazel/src/protractor/utils",
|
||||
"@npm//@angular/bazel",
|
||||
"@npm//protractor",
|
||||
],
|
||||
on_prepare = ":protractor.on-prepare.js",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
load("@angular//:index.bzl", "ng_module")
|
||||
load("@npm_angular_bazel//:index.bzl", "ng_module")
|
||||
load("@build_bazel_rules_karma//:defs.bzl", "ts_web_test_suite")
|
||||
load("@build_bazel_rules_nodejs//:defs.bzl", "rollup_bundle", "history_server")
|
||||
load("@build_bazel_rules_nodejs//internal/web_package:web_package.bzl", "web_package")
|
||||
|
@ -37,9 +37,9 @@ ng_module(
|
|||
"**/*.html",
|
||||
])<% if (sass) { %> + [":styles"]<% } %>,
|
||||
deps = [
|
||||
"@angular//packages/core",
|
||||
"@angular//packages/platform-browser",<% if (routing) { %>
|
||||
"@angular//packages/router",<% } %>
|
||||
"@npm//@angular/core",
|
||||
"@npm//@angular/platform-browser",<% if (routing) { %>
|
||||
"@npm//@angular/router",<% } %>
|
||||
"@npm//@types",
|
||||
"@npm//rxjs",
|
||||
],
|
||||
|
@ -79,6 +79,10 @@ ts_devserver(
|
|||
entry_module = "<%= utils.underscore(name) %>/src/main.dev",
|
||||
serving_path = "/bundle.min.js",
|
||||
scripts = [
|
||||
"@npm//node_modules/@angular/common:bundles/common.umd.js",
|
||||
"@npm//node_modules/@angular/common:bundles/common-http.umd.js",
|
||||
"@npm//node_modules/@angular/core:bundles/core.umd.js",
|
||||
"@npm//node_modules/@angular/platform-browser:bundles/platform-browser.umd.js",
|
||||
"@npm//node_modules/tslib:tslib.js",
|
||||
":rxjs_umd_modules",
|
||||
],
|
||||
|
@ -95,7 +99,7 @@ ts_library(
|
|||
srcs = glob(["**/*.spec.ts"]),
|
||||
deps = [
|
||||
":src",
|
||||
"@angular//packages/core/testing",
|
||||
"@npm//@angular/core",
|
||||
"@npm//@types",
|
||||
],
|
||||
)
|
||||
|
@ -107,15 +111,26 @@ ts_library(
|
|||
"initialize_testbed.ts",
|
||||
],
|
||||
deps = [
|
||||
"@angular//packages/core/testing",
|
||||
"@angular//packages/platform-browser-dynamic/testing",
|
||||
"@npm//@angular/core",
|
||||
"@npm//@angular/platform-browser-dynamic",
|
||||
"@npm//@types",
|
||||
],
|
||||
)
|
||||
|
||||
ts_web_test_suite(
|
||||
name = "test",
|
||||
srcs = ["@npm//node_modules/tslib:tslib.js"],
|
||||
srcs = [
|
||||
"@npm//node_modules/@angular/common:bundles/common.umd.js",
|
||||
"@npm//node_modules/@angular/compiler:bundles/compiler.umd.js",
|
||||
"@npm//node_modules/@angular/compiler:bundles/compiler-testing.umd.js",
|
||||
"@npm//node_modules/@angular/core:bundles/core.umd.js",
|
||||
"@npm//node_modules/@angular/core:bundles/core-testing.umd.js",
|
||||
"@npm//node_modules/@angular/platform-browser:bundles/platform-browser.umd.js",
|
||||
"@npm//node_modules/@angular/platform-browser:bundles/platform-browser-testing.umd.js",
|
||||
"@npm//node_modules/@angular/platform-browser-dynamic:bundles/platform-browser-dynamic.umd.js",
|
||||
"@npm//node_modules/@angular/platform-browser-dynamic:bundles/platform-browser-dynamic-testing.umd.js",
|
||||
"@npm//node_modules/tslib:tslib.js",
|
||||
],
|
||||
runtime_deps = [
|
||||
":initialize_testbed",
|
||||
],
|
||||
|
|
|
@ -9,32 +9,12 @@
|
|||
*/
|
||||
|
||||
import {strings} from '@angular-devkit/core';
|
||||
import {Rule, SchematicContext, SchematicsException, Tree, apply, applyTemplates, mergeWith, move, url} from '@angular-devkit/schematics';
|
||||
import {Rule, SchematicContext, Tree, apply, applyTemplates, mergeWith, url} from '@angular-devkit/schematics';
|
||||
import {getWorkspace} from '@schematics/angular/utility/config';
|
||||
import {latestVersions} from '@schematics/angular/utility/latest-versions';
|
||||
import {validateProjectName} from '@schematics/angular/utility/validation';
|
||||
|
||||
import {Schema as BazelWorkspaceOptions} from './schema';
|
||||
|
||||
|
||||
/**
|
||||
* Look for package.json file for package with `packageName` in node_modules and
|
||||
* extract its version.
|
||||
*/
|
||||
function findVersion(packageName: string, host: Tree): string|null {
|
||||
const candidate = `node_modules/${packageName}/package.json`;
|
||||
if (host.exists(candidate)) {
|
||||
try {
|
||||
const packageJson = JSON.parse(host.read(candidate).toString());
|
||||
if (packageJson.name === packageName && packageJson.version) {
|
||||
return packageJson.version;
|
||||
}
|
||||
} catch {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clean the version string and return version in the form "1.2.3". Return
|
||||
* null if version string is invalid. This is similar to semver.clean() but
|
||||
|
@ -72,20 +52,6 @@ export default function(options: BazelWorkspaceOptions): Rule {
|
|||
}
|
||||
validateProjectName(name);
|
||||
|
||||
// If the project already has some deps installed, Bazel should use existing
|
||||
// versions.
|
||||
const existingVersions = {
|
||||
Angular: findVersion('@angular/core', host),
|
||||
RxJs: findVersion('rxjs', host),
|
||||
};
|
||||
|
||||
Object.keys(existingVersions).forEach((name: 'Angular' | 'RxJs') => {
|
||||
const version = existingVersions[name] as string;
|
||||
if (version) {
|
||||
context.logger.info(`Bazel will reuse existing version for ${name}: ${version}`);
|
||||
}
|
||||
});
|
||||
|
||||
if (!host.exists('yarn.lock')) {
|
||||
host.create('yarn.lock', '');
|
||||
}
|
||||
|
@ -93,8 +59,6 @@ export default function(options: BazelWorkspaceOptions): Rule {
|
|||
const workspaceVersions = {
|
||||
'RULES_NODEJS_VERSION': '0.18.6',
|
||||
'RULES_NODEJS_SHA256': '1416d03823fed624b49a0abbd9979f7c63bbedfd37890ddecedd2fe25cccebc6',
|
||||
'ANGULAR_VERSION': existingVersions.Angular || clean(latestVersions.Angular),
|
||||
// TODO(kyliau): Consider moving this to latest-versions.ts
|
||||
'RULES_SASS_VERSION': '1.17.0',
|
||||
};
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ describe('Bazel-workspace Schematic', () => {
|
|||
host = schematicRunner.runSchematic('bazel-workspace', options, host);
|
||||
expect(host.files).toContain('/src/BUILD.bazel');
|
||||
const content = host.readContent('/src/BUILD.bazel');
|
||||
expect(content).toContain('@angular//packages/router');
|
||||
expect(content).toContain('@npm//@angular/router');
|
||||
});
|
||||
|
||||
describe('WORKSPACE', () => {
|
||||
|
|
|
@ -44,7 +44,6 @@ function addDevDependenciesToPackageJson(options: Schema) {
|
|||
const devDependencies: {[k: string]: string} = {
|
||||
'@angular/bazel': angularCoreVersion,
|
||||
'@angular/upgrade': angularCoreVersion,
|
||||
// TODO(kyliau): Consider moving this to latest-versions.ts
|
||||
'@bazel/bazel': '^0.22.1',
|
||||
'@bazel/ibazel': '^0.9.0',
|
||||
'@bazel/karma': '^0.23.2',
|
||||
|
|
Loading…
Reference in New Issue