From de795ea23320852ee7488d656edf538f63d63133 Mon Sep 17 00:00:00 2001 From: Jason Aden Date: Fri, 27 Jan 2017 17:39:48 -0800 Subject: [PATCH] perf: distrubute smaller bundled code and include es2015 bundle TypeScript compiler will now build to ES2015 code and modules. Babili is used to minify ES2015 code, providing an initial optimization that we couldn't previously get just from Uglify. Uses Babel to convert ES2015 to UMD/ES5 code, and Uglify to minimize the output. --- .babelrc | 4 + .travis.yml | 2 +- build.sh | 247 ++++-- integration/.gitignore | 1 + integration/README.md | 3 +- integration/hello_world__closure/bundle.sh | 12 +- integration/hello_world__closure/package.json | 12 +- integration/run_tests.sh | 6 - modules/@angular/.babelrc | 5 + modules/@angular/animation/.babelrc | 14 + modules/@angular/animation/.babelrc-testing | 15 + modules/@angular/animation/index.ts | 2 +- modules/@angular/animation/package.json | 7 +- .../animation/rollup-testing.config.js | 20 - modules/@angular/animation/rollup.config.js | 19 - .../web_animations/web_animations_player.ts | 8 +- .../@angular/animation/tsconfig-build.json | 2 +- .../@angular/animation/tsconfig-testing.json | 18 +- modules/@angular/benchpress/package.json | 2 +- .../@angular/benchpress/tsconfig-build.json | 50 +- modules/@angular/common/.babelrc | 13 + modules/@angular/common/.babelrc-testing | 14 + modules/@angular/common/index.ts | 2 +- modules/@angular/common/package.json | 7 +- .../@angular/common/rollup-testing.config.js | 20 - modules/@angular/common/rollup.config.js | 19 - modules/@angular/common/tsconfig-build.json | 2 +- modules/@angular/common/tsconfig-testing.json | 4 +- modules/@angular/compiler-cli/README.md | 2 +- .../integrationtest/webpack.config.js | 1 + modules/@angular/compiler-cli/package.json | 2 +- .../compiler-cli/src/compiler_host.ts | 2 +- modules/@angular/compiler/.babelrc-testing | 15 + modules/@angular/compiler/index.ts | 57 +- modules/@angular/compiler/package.json | 7 +- .../compiler/rollup-testing.config.js | 21 - ...{rollup.config.js => rollup-umd.config.js} | 2 +- .../@angular/compiler/src/compile_metadata.ts | 5 +- modules/@angular/compiler/src/compiler.ts | 70 ++ modules/@angular/compiler/src/identifiers.ts | 280 ++----- modules/@angular/compiler/src/injectable.ts | 1 + modules/@angular/compiler/src/jit/compiler.ts | 4 +- .../compiler/src/metadata_resolver.ts | 11 +- .../src/view_compiler_next/view_compiler.ts | 116 ++- modules/@angular/compiler/tsconfig-build.json | 2 +- modules/@angular/compiler/tsconfig-es5.json | 9 + .../@angular/compiler/tsconfig-testing.json | 1 + modules/@angular/core/.babelrc | 13 + modules/@angular/core/package.json | 7 +- .../@angular/core/rollup-testing.config.js | 19 - modules/@angular/core/rollup.config.js | 18 - .../core/src/codegen_private_exports.ts | 7 +- .../testing/{testing.ts => before_each.ts} | 0 modules/@angular/core/testing/index.ts | 2 +- modules/@angular/core/tsconfig-build.json | 2 +- modules/@angular/core/tsconfig-testing.json | 1 + .../@angular/docs/web_workers/web_workers.md | 8 +- .../@angular/examples/_common/main-dynamic.ts | 8 +- modules/@angular/forms/.babelrc | 18 + modules/@angular/forms/index.ts | 2 +- modules/@angular/forms/package.json | 7 +- modules/@angular/forms/rollup.config.js | 23 - modules/@angular/forms/tsconfig-build.json | 2 +- modules/@angular/http/.babelrc | 16 + modules/@angular/http/.babelrc-testing | 19 + modules/@angular/http/index.ts | 2 +- modules/@angular/http/package.json | 7 +- .../@angular/http/rollup-testing.config.js | 24 - modules/@angular/http/rollup.config.js | 21 - modules/@angular/http/tsconfig-build.json | 2 +- modules/@angular/http/tsconfig-testing.json | 1 + modules/@angular/language-service/.babelrc | 14 + .../@angular/language-service/package.json | 7 +- .../language-service/rollup.config.js | 82 -- .../@angular/language-service/src/common.ts | 8 +- .../language-service/src/completions.ts | 7 +- .../language-service/src/diagnostics.ts | 6 +- .../language-service/src/expressions.ts | 6 +- .../language-service/src/html_path.ts | 2 +- .../language-service/src/language_service.ts | 13 +- .../language-service/src/locate_symbol.ts | 7 +- .../language-service/src/template_path.ts | 2 +- .../@angular/language-service/src/types.ts | 13 +- .../language-service/src/typescript_host.ts | 18 +- .../@angular/language-service/src/utils.ts | 4 +- .../language-service/tsconfig-build.json | 6 +- .../platform-browser-dynamic/.babelrc | 15 + .../platform-browser-dynamic/.babelrc-testing | 19 + .../platform-browser-dynamic/package.json | 7 +- .../rollup-testing.config.js | 25 - .../platform-browser-dynamic/rollup.config.js | 21 - .../tsconfig-build.json | 2 +- .../tsconfig-testing.json | 1 + modules/@angular/platform-browser/.babelrc | 13 + .../platform-browser/.babelrc-testing | 14 + modules/@angular/platform-browser/index.ts | 13 +- .../@angular/platform-browser/package.json | 7 +- .../@angular/platform-browser/public_api.ts | 15 + .../platform-browser/rollup-testing.config.js | 19 - .../platform-browser/rollup.config.js | 18 - .../platform-browser/src/dom/dom_renderer.ts | 2 +- .../src/dom/web_animations_player.ts | 9 +- .../platform-browser/tsconfig-build.json | 8 +- .../platform-browser/tsconfig-testing.json | 1 + modules/@angular/platform-server/.babelrc | 15 + .../@angular/platform-server/.babelrc-testing | 18 + modules/@angular/platform-server/index.ts | 12 +- modules/@angular/platform-server/package.json | 7 +- .../@angular/platform-server/public_api.ts | 16 + .../platform-server/rollup-testing.config.js | 23 - .../@angular/platform-server/rollup.config.js | 20 - .../platform-server/src/server_renderer.ts | 6 +- .../platform-server/tsconfig-build.json | 8 +- .../platform-server/tsconfig-testing.json | 9 +- .../platform-webworker-dynamic/.babelrc | 17 + .../platform-webworker-dynamic/package.json | 7 +- .../rollup.config.js | 23 - .../tsconfig-build.json | 2 +- modules/@angular/platform-webworker/.babelrc | 16 + modules/@angular/platform-webworker/index.ts | 12 +- .../@angular/platform-webworker/package.json | 7 +- .../@angular/platform-webworker/public_api.ts | 15 + .../platform-webworker/rollup.config.js | 21 - .../platform-webworker/tsconfig-build.json | 8 +- modules/@angular/router/.babelrc | 38 + modules/@angular/router/.babelrc-testing | 16 + modules/@angular/router/.babelrc-upgrade | 15 + modules/@angular/router/index.ts | 2 +- modules/@angular/router/package.json | 7 +- .../@angular/router/rollup-testing.config.js | 21 - .../@angular/router/rollup-upgrade.config.js | 20 - modules/@angular/router/rollup.config.js | 44 - modules/@angular/router/src/private_export.ts | 1 - .../router/testing/router_testing_module.ts | 2 +- modules/@angular/router/tsconfig-build.json | 2 +- modules/@angular/router/tsconfig-testing.json | 1 + modules/@angular/router/tsconfig-upgrade.json | 1 + modules/@angular/upgrade/.babelrc | 21 + modules/@angular/upgrade/.babelrc-static | 12 + modules/@angular/upgrade/index.ts | 14 +- modules/@angular/upgrade/package.json | 7 +- modules/@angular/upgrade/public_api.ts | 18 + .../@angular/upgrade/rollup-static.config.js | 15 - modules/@angular/upgrade/rollup.config.js | 26 - modules/@angular/upgrade/static.ts | 2 +- modules/@angular/upgrade/tsconfig-build.json | 10 +- modules/@angular/upgrade/tsconfig-static.json | 22 + npm-shrinkwrap.clean.json | 536 ++++++++++++ npm-shrinkwrap.json | 788 ++++++++++++++++++ package.json | 7 + scripts/ci-lite/offline_compiler_test.sh | 3 + tools/@angular/tsc-wrapped/src/bundler.ts | 32 +- tools/@angular/tsc-wrapped/src/main.ts | 14 +- tools/gulp-tasks/public-api.js | 31 +- .../{index.d.ts => typings/animation.d.ts} | 0 .../{index.d.ts => typings/common.d.ts} | 0 .../testing/testing.d.ts} | 0 .../{index.d.ts => typings/compiler.d.ts} | 0 .../testing/testing.d.ts} | 0 .../core/{index.d.ts => typings/core.d.ts} | 0 .../testing/testing.d.ts} | 0 .../forms/{index.d.ts => typings/forms.d.ts} | 0 .../http/{index.d.ts => typings/http.d.ts} | 0 .../testing/testing.d.ts} | 0 .../platform-browser-dynamic.d.ts} | 0 .../testing/testing.d.ts} | 0 .../platform-browser.d.ts} | 0 .../testing/testing.d.ts} | 0 .../platform-server.d.ts} | 0 .../testing/testing.d.ts} | 0 .../platform-webworker-dynamic.d.ts} | 0 .../platform-webworker.d.ts} | 0 .../{index.d.ts => typings/router.d.ts} | 0 .../upgrade/{ => typings/static}/static.d.ts | 0 .../{index.d.ts => typings/upgrade.d.ts} | 0 175 files changed, 2515 insertions(+), 1246 deletions(-) create mode 100644 .babelrc create mode 100755 modules/@angular/.babelrc create mode 100644 modules/@angular/animation/.babelrc create mode 100644 modules/@angular/animation/.babelrc-testing delete mode 100644 modules/@angular/animation/rollup-testing.config.js delete mode 100644 modules/@angular/animation/rollup.config.js create mode 100644 modules/@angular/common/.babelrc create mode 100644 modules/@angular/common/.babelrc-testing delete mode 100644 modules/@angular/common/rollup-testing.config.js delete mode 100644 modules/@angular/common/rollup.config.js create mode 100644 modules/@angular/compiler/.babelrc-testing delete mode 100644 modules/@angular/compiler/rollup-testing.config.js rename modules/@angular/compiler/{rollup.config.js => rollup-umd.config.js} (89%) create mode 100644 modules/@angular/compiler/src/compiler.ts create mode 100644 modules/@angular/compiler/tsconfig-es5.json create mode 100644 modules/@angular/core/.babelrc delete mode 100644 modules/@angular/core/rollup-testing.config.js delete mode 100644 modules/@angular/core/rollup.config.js rename modules/@angular/core/testing/{testing.ts => before_each.ts} (100%) create mode 100644 modules/@angular/forms/.babelrc delete mode 100644 modules/@angular/forms/rollup.config.js create mode 100644 modules/@angular/http/.babelrc create mode 100644 modules/@angular/http/.babelrc-testing delete mode 100644 modules/@angular/http/rollup-testing.config.js delete mode 100644 modules/@angular/http/rollup.config.js create mode 100644 modules/@angular/language-service/.babelrc delete mode 100644 modules/@angular/language-service/rollup.config.js create mode 100644 modules/@angular/platform-browser-dynamic/.babelrc create mode 100644 modules/@angular/platform-browser-dynamic/.babelrc-testing delete mode 100644 modules/@angular/platform-browser-dynamic/rollup-testing.config.js delete mode 100644 modules/@angular/platform-browser-dynamic/rollup.config.js create mode 100644 modules/@angular/platform-browser/.babelrc create mode 100644 modules/@angular/platform-browser/.babelrc-testing create mode 100644 modules/@angular/platform-browser/public_api.ts delete mode 100644 modules/@angular/platform-browser/rollup-testing.config.js delete mode 100644 modules/@angular/platform-browser/rollup.config.js create mode 100644 modules/@angular/platform-server/.babelrc create mode 100644 modules/@angular/platform-server/.babelrc-testing create mode 100644 modules/@angular/platform-server/public_api.ts delete mode 100644 modules/@angular/platform-server/rollup-testing.config.js delete mode 100644 modules/@angular/platform-server/rollup.config.js create mode 100644 modules/@angular/platform-webworker-dynamic/.babelrc delete mode 100644 modules/@angular/platform-webworker-dynamic/rollup.config.js create mode 100644 modules/@angular/platform-webworker/.babelrc create mode 100644 modules/@angular/platform-webworker/public_api.ts delete mode 100644 modules/@angular/platform-webworker/rollup.config.js create mode 100644 modules/@angular/router/.babelrc create mode 100644 modules/@angular/router/.babelrc-testing create mode 100644 modules/@angular/router/.babelrc-upgrade delete mode 100644 modules/@angular/router/rollup-testing.config.js delete mode 100644 modules/@angular/router/rollup-upgrade.config.js delete mode 100644 modules/@angular/router/rollup.config.js create mode 100644 modules/@angular/upgrade/.babelrc create mode 100644 modules/@angular/upgrade/.babelrc-static create mode 100644 modules/@angular/upgrade/public_api.ts delete mode 100644 modules/@angular/upgrade/rollup-static.config.js delete mode 100644 modules/@angular/upgrade/rollup.config.js create mode 100644 modules/@angular/upgrade/tsconfig-static.json rename tools/public_api_guard/animation/{index.d.ts => typings/animation.d.ts} (100%) rename tools/public_api_guard/common/{index.d.ts => typings/common.d.ts} (100%) rename tools/public_api_guard/common/{testing/index.d.ts => typings/testing/testing.d.ts} (100%) rename tools/public_api_guard/compiler/{index.d.ts => typings/compiler.d.ts} (100%) rename tools/public_api_guard/compiler/{testing/index.d.ts => typings/testing/testing.d.ts} (100%) rename tools/public_api_guard/core/{index.d.ts => typings/core.d.ts} (100%) rename tools/public_api_guard/core/{testing/index.d.ts => typings/testing/testing.d.ts} (100%) rename tools/public_api_guard/forms/{index.d.ts => typings/forms.d.ts} (100%) rename tools/public_api_guard/http/{index.d.ts => typings/http.d.ts} (100%) rename tools/public_api_guard/http/{testing/index.d.ts => typings/testing/testing.d.ts} (100%) rename tools/public_api_guard/platform-browser-dynamic/{index.d.ts => typings/platform-browser-dynamic.d.ts} (100%) rename tools/public_api_guard/platform-browser-dynamic/{testing/index.d.ts => typings/testing/testing.d.ts} (100%) rename tools/public_api_guard/platform-browser/{index.d.ts => typings/platform-browser.d.ts} (100%) rename tools/public_api_guard/platform-browser/{testing/index.d.ts => typings/testing/testing.d.ts} (100%) rename tools/public_api_guard/platform-server/{index.d.ts => typings/platform-server.d.ts} (100%) rename tools/public_api_guard/platform-server/{testing/index.d.ts => typings/testing/testing.d.ts} (100%) rename tools/public_api_guard/platform-webworker-dynamic/{index.d.ts => typings/platform-webworker-dynamic.d.ts} (100%) rename tools/public_api_guard/platform-webworker/{index.d.ts => typings/platform-webworker.d.ts} (100%) rename tools/public_api_guard/router/{index.d.ts => typings/router.d.ts} (100%) rename tools/public_api_guard/upgrade/{ => typings/static}/static.d.ts (100%) rename tools/public_api_guard/upgrade/{index.d.ts => typings/upgrade.d.ts} (100%) diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000000..a170d0cd8c --- /dev/null +++ b/.babelrc @@ -0,0 +1,4 @@ +{ + "plugins": ["transform-es2015-modules-umd"], + "presets": ["es2015"] +} diff --git a/.travis.yml b/.travis.yml index d5898085b1..ab6808b40e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,7 +34,7 @@ env: - secure: "MPx3UM77o5IlhT75PKHL0FXoB5tSXDc3vnCXCd1sRy4XUTZ9vjcV6nNuyqEf+SOw659bGbC1FI4mACGx1Q+z7MQDR85b1mcA9uSgHDkh+IR82CnCVdaX9d1RXafdJIArahxfmorbiiPPLyPIKggo7ituRm+2c+iraoCkE/pXxYg=" matrix: # Order: a slower build first, so that we don't occupy an idle travis worker waiting for others to complete. - - CI_MODE=e2e EXPERIMENTAL_ES2015_DISTRO=1 + - CI_MODE=e2e - CI_MODE=js - CI_MODE=saucelabs_required - CI_MODE=browserstack_required diff --git a/build.sh b/build.sh index 1b3f7ebfdb..99501d448d 100755 --- a/build.sh +++ b/build.sh @@ -20,12 +20,14 @@ PACKAGES=(core compiler-cli language-service benchpress) + BUILD_ALL=true BUNDLE=true VERSION_PREFIX=$(node -p "require('./package.json').version") VERSION_SUFFIX="-$(git log --oneline -1 | awk '{print $1}')" ROUTER_VERSION_PREFIX=$(node -p "require('./package.json').version.replace(/^2/, '3')") REMOVE_BENCHPRESS=false +BUILD_EXAMPLES=true for ARG in "$@"; do case "$ARG" in @@ -41,6 +43,9 @@ for ARG in "$@"; do VERSION_SUFFIX="" REMOVE_BENCHPRESS=true ;; + --examples=*) + BUILD_EXAMPLES=${ARG#--examples=} + ;; *) echo "Unknown option $ARG." exit 1 @@ -48,6 +53,34 @@ for ARG in "$@"; do esac done +getPackageContents() { + echo "{\"typings\": \"../typings/${2}/${2}.d.ts\", \"main\": \"../bundles/${1}-${2}.umd.js\", \"module\": \"../@angular/${1}/${2}.es5.js\", \"es2015\": \"../@angular/${1}/${2}.js\"}" +} + +containsElement () { + local e + for e in "${@:2}"; do + [[ "$e" == "$1" ]] && return 0; + done + return 1 +} + +NON_MODULE=( + platform-browser +) + +moveTypings() { + # $1 == Source copy root (/src or /testing) + # $2 == Final destination directory + rsync -a --exclude=*.js* ${1} ${2} +} + +cleanTypings() { + # $1 == Source root (where index.d.ts file is, for instance) + # $2 == Source copy root (/src or /typings) + rm -f ${1}/index.* + rm -rf ${2} +} VERSION="${VERSION_PREFIX}${VERSION_SUFFIX}" ROUTER_VERSION="${ROUTER_VERSION_PREFIX}${VERSION_SUFFIX}" echo "====== BUILDING: Version ${VERSION} (Router ${ROUTER_VERSION})" @@ -55,6 +88,8 @@ echo "====== BUILDING: Version ${VERSION} (Router ${ROUTER_VERSION})" export NODE_PATH=${NODE_PATH}:$(pwd)/dist/all:$(pwd)/dist/tools TSC="node --max-old-space-size=3000 dist/tools/@angular/tsc-wrapped/src/main" UGLIFYJS=`pwd`/node_modules/.bin/uglifyjs +BABELJS=`pwd`/node_modules/.bin/babel +BABILI=`pwd`/node_modules/.bin/babili TSCONFIG=./tools/tsconfig.json echo "====== (tools)COMPILING: \$(npm bin)/tsc -p ${TSCONFIG} =====" rm -rf ./dist/tools/ @@ -111,16 +146,30 @@ fi for PACKAGE in ${PACKAGES[@]} do PWD=`pwd` + ROOTDIR=${PWD}/modules/@angular SRCDIR=${PWD}/modules/@angular/${PACKAGE} DESTDIR=${PWD}/dist/packages-dist/${PACKAGE} - ES2015_DESTDIR=${PWD}/dist/packages-dist-es2015/${PACKAGE} - UMD_ES5_PATH=${DESTDIR}/bundles/${PACKAGE}.umd.js - UMD_TESTING_ES5_PATH=${DESTDIR}/bundles/${PACKAGE}-testing.umd.js - UMD_STATIC_ES5_PATH=${DESTDIR}/bundles/${PACKAGE}-static.umd.js - UMD_UPGRADE_ES5_PATH=${DESTDIR}/bundles/${PACKAGE}-upgrade.umd.js - UMD_ES5_MIN_PATH=${DESTDIR}/bundles/${PACKAGE}.umd.min.js - UMD_STATIC_ES5_MIN_PATH=${DESTDIR}/bundles/${PACKAGE}-static.umd.min.js - UMD_UPGRADE_ES5_MIN_PATH=${DESTDIR}/bundles/${PACKAGE}-upgrade.umd.min.js + DEST_MODULE=${DESTDIR}/@angular + DEST_BUNDLES=${DESTDIR}/bundles + + # ESM/ES6 + JS_PATH=${DEST_MODULE}/${PACKAGE}.js + JS_PATH_ES5=${DEST_MODULE}/${PACKAGE}.es5.js + JS_TESTING_PATH=${DEST_MODULE}/${PACKAGE}/testing.js + JS_TESTING_PATH_ES5=${DEST_MODULE}/${PACKAGE}/testing.es5.js + JS_STATIC_PATH=${DEST_MODULE}/${PACKAGE}/static.js + JS_STATIC_PATH_ES5=${DEST_MODULE}/${PACKAGE}/static.es5.js + JS_UPGRADE_PATH=${DEST_MODULE}/${PACKAGE}/upgrade.js + JS_UPGRADE_PATH_ES5=${DEST_MODULE}/${PACKAGE}/upgrade.es5.js + + # UMD/ES5 + UMD_ES5_PATH=${DEST_BUNDLES}/${PACKAGE}.umd.js + UMD_TESTING_ES5_PATH=${DEST_BUNDLES}/${PACKAGE}-testing.umd.js + UMD_STATIC_ES5_PATH=${DEST_BUNDLES}/${PACKAGE}-static.umd.js + UMD_UPGRADE_ES5_PATH=${DEST_BUNDLES}/${PACKAGE}-upgrade.umd.js + UMD_ES5_MIN_PATH=${DEST_BUNDLES}/${PACKAGE}.umd.min.js + UMD_STATIC_ES5_MIN_PATH=${DEST_BUNDLES}/${PACKAGE}-static.umd.min.js + UMD_UPGRADE_ES5_MIN_PATH=${DEST_BUNDLES}/${PACKAGE}-upgrade.umd.min.js if [[ ${PACKAGE} != router ]]; then LICENSE_BANNER=${PWD}/modules/@angular/license-banner.txt @@ -131,34 +180,51 @@ do rm -rf ${DESTDIR} - echo "====== COMPILING: ${TSC} -p ${SRCDIR}/tsconfig-build.json =====" - $TSC -p ${SRCDIR}/tsconfig-build.json - # ES2015 distro is not ready yet; don't slow down all builds for it - # TODO(alexeagle,igorminar): figure out ES2015 story and enable - if [[ -n "${EXPERIMENTAL_ES2015_DISTRO}" ]]; then - $TSC -p ${SRCDIR}/tsconfig-build.json --target es2015 --outDir ${ES2015_DESTDIR} - cp ${SRCDIR}/package.json ${ES2015_DESTDIR}/ - cp ${PWD}/modules/@angular/README.md ${ES2015_DESTDIR}/ + echo "====== [${PACKAGE}]: COMPILING: ${TSC} --skipImportRename -p ${SRCDIR}/tsconfig-build.json" + if [[ -e ${SRCDIR}/.babelrc || ${PACKAGE} == "compiler" ]]; then + $TSC --skipImportRename -p ${SRCDIR}/tsconfig-build.json -outDir ${DEST_MODULE} + else + $TSC --skipImportRename -p ${SRCDIR}/tsconfig-build.json fi - if [[ -e ${SRCDIR}/tsconfig-upgrade.json ]]; then - echo "====== COMPILING: ${TSC} -p ${SRCDIR}/tsconfig-upgrade.json =====" - $TSC -p ${SRCDIR}/tsconfig-upgrade.json + echo "====== Move ${PACKAGE} typings" + if [[ -e ${SRCDIR}/.babelrc || -d ${DEST_MODULE} ]]; then + rsync -a --exclude=*.js --exclude=*.js.map ${DEST_MODULE}/ ${DESTDIR}/typings + mv ${DESTDIR}/typings/index.d.ts ${DESTDIR}/typings/${PACKAGE}.d.ts + mv ${DESTDIR}/typings/index.metadata.json ${DESTDIR}/typings/${PACKAGE}.metadata.json + else + rsync -a --exclude=*.js --exclude=*.js.map ${DESTDIR}/ ${DESTDIR}/typings + find ${DESTDIR} -name "*.d.ts" -not -path "${DESTDIR}/typings/*" -exec rm -f {} \; + fi + + if [[ -e ${SRCDIR}/tsconfig-es5.json ]]; then + echo "====== [${PACKAGE}]: COMPILING (ES5): ${TSC} -p ${SRCDIR}/tsconfig-es5.json" + $TSC -p ${SRCDIR}/tsconfig-es5.json fi cp ${SRCDIR}/package.json ${DESTDIR}/ + if [[ -e ${SRCDIR}/.babelrc ]]; then + cp ${SRCDIR}/.babelrc ${DESTDIR}/ + fi cp ${PWD}/modules/@angular/README.md ${DESTDIR}/ + if [[ -e ${SRCDIR}/tsconfig-upgrade.json ]]; then + echo "====== [${PACKAGE}]: COMPILING (UPGRADE): ${TSC} -p ${SRCDIR}/tsconfig-upgrade.json" + $TSC -p ${SRCDIR}/tsconfig-upgrade.json + fi + if [[ -e ${SRCDIR}/tsconfig-testing.json ]]; then - echo "====== COMPILING TESTING: ${TSC} -p ${SRCDIR}/tsconfig-testing.json" + echo "====== [${PACKAGE}]: COMPILING (TESTING): ${TSC} -p ${SRCDIR}/tsconfig-testing.json" $TSC -p ${SRCDIR}/tsconfig-testing.json - if [[ -n "${EXPERIMENTAL_ES2015_DISTRO}" ]]; then - $TSC -p ${SRCDIR}/tsconfig-testing.json --target es2015 --outDir ${ES2015_DESTDIR} - fi + fi + + if [[ -e ${SRCDIR}/tsconfig-static.json ]]; then + echo "====== [${PACKAGE}]: COMPILING (STATIC): ${TSC} -p ${SRCDIR}/tsconfig-static.json" + $TSC -p ${SRCDIR}/tsconfig-static.json fi if [[ -e ${SRCDIR}/tsconfig-2015.json ]]; then - echo "====== COMPILING ESM: ${TSC} -p ${SRCDIR}/tsconfig-2015.json" + echo "====== [${PACKAGE}]: COMPILING (ES2015): ${TSC} -p ${SRCDIR}/tsconfig-2015.json" ${TSC} -p ${SRCDIR}/tsconfig-2015.json fi @@ -170,44 +236,122 @@ do if [[ ${BUNDLE} == true && ${PACKAGE} != compiler-cli && ${PACKAGE} != benchpress ]]; then echo "====== BUNDLING: ${SRCDIR} =====" - mkdir ${DESTDIR}/bundles + mkdir ${DEST_BUNDLES} ( cd ${SRCDIR} echo "====== Rollup ${PACKAGE} index" - ../../../node_modules/.bin/rollup -c rollup.config.js - cat ${LICENSE_BANNER} > ${UMD_ES5_PATH}.tmp - cat ${UMD_ES5_PATH} >> ${UMD_ES5_PATH}.tmp - mv ${UMD_ES5_PATH}.tmp ${UMD_ES5_PATH} - $UGLIFYJS -c --screw-ie8 --comments -o ${UMD_ES5_MIN_PATH} ${UMD_ES5_PATH} + ../../../node_modules/.bin/rollup -i ${DEST_MODULE}/index.js -o ${JS_PATH} + cat ${LICENSE_BANNER} > ${JS_PATH}.tmp + cat ${JS_PATH} >> ${JS_PATH}.tmp + mv ${JS_PATH}.tmp ${JS_PATH} - if [[ -e rollup-testing.config.js ]]; then + if ! [[ ${PACKAGE} == 'benchpress' ]]; then + cleanTypings ${DEST_MODULE} ${DEST_MODULE}/src + fi + + if [[ -e ${DESTDIR}/.babelrc ]]; then + + echo "====== Downleveling ${PACKAGE} to ES5/UMD" + $BABELJS ${JS_PATH} -o ${UMD_ES5_PATH} + + ### Minification ### + echo "====== Minifying JavaScript" + $BABILI ${JS_PATH} -o ${UMD_ES5_MIN_PATH} + echo "====== Downleveling min JavaScript to ES5/UMD" + $BABELJS ${UMD_ES5_MIN_PATH} -o ${UMD_ES5_MIN_PATH} + + echo "====== Minifying ${PACKAGE}" + $UGLIFYJS -c --screw-ie8 --comments -o ${UMD_ES5_MIN_PATH} ${UMD_ES5_MIN_PATH} + ### END Minification ### + else + # For packages not running through babel, use the es5/umd config + echo "====== Rollup ${PACKAGE} index to UMD" + ../../../node_modules/.bin/rollup -c rollup-umd.config.js + [[ -d ${DESTDIR}/es5 ]] && rm -rf ${DESTDIR}/es5 + echo "====== Minifying UMD ${PACKAGE}" + $UGLIFYJS -c --screw-ie8 --comments -o ${UMD_ES5_MIN_PATH} ${UMD_ES5_PATH} + fi + + rm -f ${DISTDIR}/.babelrc + cp ${ROOTDIR}/.babelrc ${DEST_MODULE}/.babelrc + $BABELJS ${JS_PATH} -o ${JS_PATH_ES5} + + if [[ -d testing ]]; then echo "====== Rollup ${PACKAGE} testing" - ../../../node_modules/.bin/rollup -c rollup-testing.config.js - echo "{\"main\": \"../bundles/${PACKAGE}-testing.umd.js\"}" > ${DESTDIR}/testing/package.json + ../../../node_modules/.bin/rollup -i ${DESTDIR}/testing/index.js -o ${DESTDIR}/testing.tmp.js + + echo "====== Downleveling ${PACKAGE} TESTING to ES5/UMD" + [[ -e ${SRCDIR}/.babelrc-testing ]] && cp ${SRCDIR}/.babelrc-testing ${DESTDIR}/.babelrc + $BABELJS ${DESTDIR}/testing.tmp.js -o ${UMD_TESTING_ES5_PATH} + rm -f ${DESTDIR}/.babelrc + + echo "====== Move ${PACKAGE} testing typings" + rsync -a --exclude=*.js --exclude=*.js.map ${DESTDIR}/testing/ ${DESTDIR}/typings/testing + mv ${DESTDIR}/typings/testing/index.d.ts ${DESTDIR}/typings/testing/testing.d.ts + mv ${DESTDIR}/typings/testing/index.metadata.json ${DESTDIR}/typings/testing/testing.metadata.json + + rm -rf ${DESTDIR}/testing + + mkdir ${DESTDIR}/testing && [[ -d ${DEST_MODULE}/${PACKAGE} ]] || mkdir ${DEST_MODULE}/${PACKAGE} + + getPackageContents "${PACKAGE}" "testing" > ${DESTDIR}/testing/package.json + + mv ${DESTDIR}/testing.tmp.js ${JS_TESTING_PATH} + $BABELJS ${JS_TESTING_PATH} -o ${JS_TESTING_PATH_ES5} cat ${LICENSE_BANNER} > ${UMD_TESTING_ES5_PATH}.tmp cat ${UMD_TESTING_ES5_PATH} >> ${UMD_TESTING_ES5_PATH}.tmp mv ${UMD_TESTING_ES5_PATH}.tmp ${UMD_TESTING_ES5_PATH} fi - if [[ -e rollup-static.config.js ]]; then + if [[ -e static.ts ]]; then echo "====== Rollup ${PACKAGE} static" - ../../../node_modules/.bin/rollup -c rollup-static.config.js - # create dir because it doesn't exist yet, we should move the src code here and remove this line - mkdir ${DESTDIR}/static - echo "{\"main\": \"../bundles/${PACKAGE}-static.umd.js\"}" > ${DESTDIR}/static/package.json + rm -f ${DEST_MODULE}/static.* + ../../../node_modules/.bin/rollup -i ${DESTDIR}/static/static.js -o ${DESTDIR}/static.tmp.js + + echo "====== Downleveling ${PACKAGE} STATIC to ES5/UMD" + [[ -e ${SRCDIR}/.babelrc-static ]] && cp ${SRCDIR}/.babelrc-static ${DESTDIR}/.babelrc + $BABELJS ${DESTDIR}/static.tmp.js -o ${UMD_STATIC_ES5_PATH} + rm -f ${DESTDIR}/.babelrc + + echo "====== Move ${PACKAGE} static typings" + rsync -a --exclude=*.js ${DESTDIR}/static/ ${DESTDIR}/typings/static + rm -f ${DESTDIR}/typings/static/index.d.ts + rm -rf ${DESTDIR}/static + + mkdir ${DESTDIR}/static && [[ -d ${DEST_MODULE}/${PACKAGE} ]] || mkdir ${DEST_MODULE}/${PACKAGE} + + getPackageContents "${PACKAGE}" "static"> ${DESTDIR}/static/package.json + + mv ${DESTDIR}/static.tmp.js ${JS_STATIC_PATH} + $BABELJS ${JS_STATIC_PATH} -o ${JS_STATIC_PATH_ES5} cat ${LICENSE_BANNER} > ${UMD_STATIC_ES5_PATH}.tmp cat ${UMD_STATIC_ES5_PATH} >> ${UMD_STATIC_ES5_PATH}.tmp mv ${UMD_STATIC_ES5_PATH}.tmp ${UMD_STATIC_ES5_PATH} $UGLIFYJS -c --screw-ie8 --comments -o ${UMD_STATIC_ES5_MIN_PATH} ${UMD_STATIC_ES5_PATH} fi - if [[ -e rollup-upgrade.config.js ]]; then + if [[ -e upgrade.ts ]]; then echo "====== Rollup ${PACKAGE} upgrade" - ../../../node_modules/.bin/rollup -c rollup-upgrade.config.js - # create dir because it doesn't exist yet, we should move the src code here and remove this line - mkdir ${DESTDIR}/upgrade - echo "{\"main\": \"../bundles/${PACKAGE}-upgrade.umd.js\"}" > ${DESTDIR}/upgrade/package.json + rm -f ${DEST_MODULE}/upgrade.* + ../../../node_modules/.bin/rollup -i ${DESTDIR}/upgrade/upgrade.js -o ${DESTDIR}/upgrade.tmp.js + + echo "====== Downleveling ${PACKAGE} UPGRADE to ES5/UMD" + [[ -e ${SRCDIR}/.babelrc-upgrade ]] && cp ${SRCDIR}/.babelrc-upgrade ${DESTDIR}/.babelrc + $BABELJS ${DESTDIR}/upgrade.tmp.js -o ${UMD_UPGRADE_ES5_PATH} + rm -f ${DESTDIR}/.babelrc + + echo "====== Move ${PACKAGE} upgrade typings" + rsync -a --exclude=*.js ${DESTDIR}/upgrade/ ${DESTDIR}/typings/upgrade + rm -f ${DESTDIR}/typings/upgrade/index.d.ts + rm -rf ${DESTDIR}/upgrade + + mkdir ${DESTDIR}/upgrade && [[ -d ${DEST_MODULE}/${PACKAGE} ]] || mkdir ${DEST_MODULE}/${PACKAGE} + + getPackageContents "${PACKAGE}" "upgrade" > ${DESTDIR}/upgrade/package.json + + mv ${DESTDIR}/upgrade.tmp.js ${JS_UPGRADE_PATH} + $BABELJS ${JS_UPGRADE_PATH} -o ${JS_UPGRADE_PATH_ES5} cat ${LICENSE_BANNER} > ${UMD_UPGRADE_ES5_PATH}.tmp cat ${UMD_UPGRADE_ES5_PATH} >> ${UMD_UPGRADE_ES5_PATH}.tmp mv ${UMD_UPGRADE_ES5_PATH}.tmp ${UMD_UPGRADE_ES5_PATH} @@ -215,14 +359,15 @@ do fi ) 2>&1 | grep -v "as external dependency" - if [[ -n "${EXPERIMENTAL_ES2015_DISTRO}" ]]; then - cp -prv ${DESTDIR}/bundles ${ES2015_DESTDIR} - fi fi ( echo "====== VERSION: Updating version references" - cd ${DESTDIR} + if [[ -e ${SRCDIR}/.babelrc ]]; then + cd ${DEST_MODULE} + else + cd ${DESTDIR} + fi echo "====== EXECUTE: perl -p -i -e \"s/0\.0\.0\-PLACEHOLDER/${VERSION}/g\" $""(grep -ril 0\.0\.0\-PLACEHOLDER .)" perl -p -i -e "s/0\.0\.0\-PLACEHOLDER/${VERSION}/g" $(grep -ril 0\.0\.0\-PLACEHOLDER .) < /dev/null 2> /dev/null echo "====== EXECUTE: perl -p -i -e \"s/0\.0\.0\-ROUTERPLACEHOLDER/${ROUTER_VERSION}/g\" $""(grep -ril 0\.0\.0\-ROUTERPLACEHOLDER .)" @@ -230,9 +375,11 @@ do ) done -echo "" -echo "====== Building examples: ./modules/@angular/examples/build.sh =====" -./modules/@angular/examples/build.sh +if [[ ${BUILD_EXAMPLES} == true ]]; then + echo "" + echo "====== Building examples: ./modules/@angular/examples/build.sh =====" + ./modules/@angular/examples/build.sh +fi if [[ ${REMOVE_BENCHPRESS} == true ]]; then echo "" diff --git a/integration/.gitignore b/integration/.gitignore index 8f47dddf6b..58e631984a 100644 --- a/integration/.gitignore +++ b/integration/.gitignore @@ -7,3 +7,4 @@ vendor/ **/*.ngfactory.ts **/*.ngsummary.json */yarn* +*/.yarn_local_cache* diff --git a/integration/README.md b/integration/README.md index 2314f71738..19a11b70f4 100644 --- a/integration/README.md +++ b/integration/README.md @@ -35,7 +35,6 @@ Angular's `node_modules` is installed. The first time you run the tests, you'll need some setup: ```shell -$ EXPERIMENTAL_ES2015_DISTRO=1 ./build.sh $ ./integration/build_rxjs_es6.sh ``` @@ -44,7 +43,7 @@ See the `package.json` of the test(s) you're debugging, to see which dist/ folde Then run the right `tsc --watch` command to keep those dist folders up-to-date, for example: ``` -$ ./node_modules/.bin/tsc -p modules/@angular/core/tsconfig-build.json --target es2015 --outDir dist/packages-dist-es2015/core --watch +$ ./node_modules/.bin/tsc -p modules/@angular/core/tsconfig-build.json --outDir dist/packages-dist/core --watch ``` Now you can run the integration test, it will re-install from the dist/ folder on each run. diff --git a/integration/hello_world__closure/bundle.sh b/integration/hello_world__closure/bundle.sh index 62383ec9b1..0b4771698d 100755 --- a/integration/hello_world__closure/bundle.sh +++ b/integration/hello_world__closure/bundle.sh @@ -25,7 +25,10 @@ CLOSURE_ARGS=( "--rewrite_polyfills=false" # List of path prefixes to be removed from ES6 & CommonJS modules. - "--js_module_root=node_modules" + "--js_module_root=node_modules/@angular/core" + "--js_module_root=node_modules/@angular/common" + "--js_module_root=node_modules/@angular/compiler" + "--js_module_root=node_modules/@angular/platform-browser" "--js_module_root=vendor" # Uncomment for easier debugging @@ -34,9 +37,10 @@ CLOSURE_ARGS=( e2e/testability.externs.js node_modules/zone.js/dist/zone.js $(find -L vendor/rxjs -name *.js) - node_modules/@angular/{core,common,compiler,platform-browser}/index.js - node_modules/@angular/{core,common}/public_api.js - $(find node_modules/@angular/{core,common,compiler,platform-browser}/src -name *.js) + node_modules/@angular/core/@angular/core.js + node_modules/@angular/common/@angular/common.js + node_modules/@angular/compiler/@angular/compiler.js + node_modules/@angular/platform-browser/@angular/platform-browser.js "built/src/*.js" "--entry_point=./built/src/main" ) diff --git a/integration/hello_world__closure/package.json b/integration/hello_world__closure/package.json index 6db7b71bde..e47eb9fc42 100644 --- a/integration/hello_world__closure/package.json +++ b/integration/hello_world__closure/package.json @@ -3,12 +3,12 @@ "version": "0.0.0", "license": "MIT", "dependencies": { - "@angular/common": "file:../../dist/packages-dist-es2015/common", - "@angular/compiler": "file:../../dist/packages-dist-es2015/compiler", - "@angular/compiler-cli": "file:../../dist/packages-dist-es2015/compiler-cli", - "@angular/core": "file:../../dist/packages-dist-es2015/core", - "@angular/platform-browser": "file:../../dist/packages-dist-es2015/platform-browser", - "@angular/platform-server": "file:../../dist/packages-dist-es2015/platform-server", + "@angular/common": "file:../../dist/packages-dist/common", + "@angular/compiler": "file:../../dist/packages-dist/compiler", + "@angular/compiler-cli": "file:../../dist/packages-dist/compiler-cli", + "@angular/core": "file:../../dist/packages-dist/core", + "@angular/platform-browser": "file:../../dist/packages-dist/platform-browser", + "@angular/platform-server": "file:../../dist/packages-dist/platform-server", "@angular/tsc-wrapped": "file:../../dist/tools/@angular/tsc-wrapped", "google-closure-compiler": "20161201.0.0", "rxjs": "file:../../node_modules/rxjs", diff --git a/integration/run_tests.sh b/integration/run_tests.sh index 1165f75ef1..1d37ff1f3c 100755 --- a/integration/run_tests.sh +++ b/integration/run_tests.sh @@ -10,12 +10,6 @@ if [ ! -d "rxjs/dist/es6" ]; then exit 1 fi -if [ ! -d "../dist/packages-dist-es2015" ]; then - echo "You must build the ES2015 distro for some tests:" - echo "EXPERIMENTAL_ES2015_DISTRO=1 ./build.sh" - exit 1 -fi - # Workaround https://github.com/yarnpkg/yarn/issues/2165 # Yarn will cache file://dist URIs and not update Angular code readonly cache=.yarn_local_cache diff --git a/modules/@angular/.babelrc b/modules/@angular/.babelrc new file mode 100755 index 0000000000..9897749da4 --- /dev/null +++ b/modules/@angular/.babelrc @@ -0,0 +1,5 @@ +{ + "presets": [ + ["es2015", { "modules": false }] + ] +} diff --git a/modules/@angular/animation/.babelrc b/modules/@angular/animation/.babelrc new file mode 100644 index 0000000000..fdaee566fe --- /dev/null +++ b/modules/@angular/animation/.babelrc @@ -0,0 +1,14 @@ + +{ + "presets": ["es2015"], + "plugins": [["transform-es2015-modules-umd", { + "globals": { + "@angular/core": "ng.core", + "@angular/animation": "ng.animation", + "rxjs/Observable": "Rx", + "rxjs/Subject": "Rx" + }, + "exactGlobals": true + }]], + "moduleId": "@angular/animation" +} diff --git a/modules/@angular/animation/.babelrc-testing b/modules/@angular/animation/.babelrc-testing new file mode 100644 index 0000000000..12997b861c --- /dev/null +++ b/modules/@angular/animation/.babelrc-testing @@ -0,0 +1,15 @@ + +{ + "presets": ["es2015"], + "plugins": [["transform-es2015-modules-umd", { + "globals": { + "@angular/core": "ng.core", + "@angular/animation": "ng.animation", + "@angular/animation/testing": "ng.animation.testing", + "rxjs/Observable": "Rx", + "rxjs/Subject": "Rx" + }, + "exactGlobals": true + }]], + "moduleId": "@angular/animation/testing" +} diff --git a/modules/@angular/animation/index.ts b/modules/@angular/animation/index.ts index 05e6b19532..e727e2e8a7 100644 --- a/modules/@angular/animation/index.ts +++ b/modules/@angular/animation/index.ts @@ -7,7 +7,7 @@ */ // This file is not used to build this module. It is only used during editing -// by the TypeScript language serivce and during build for verifcation. `ngc` +// by the TypeScript language service and during build for verification. `ngc` // replaces this file with production index.ts when it rewrites private symbol // names. diff --git a/modules/@angular/animation/package.json b/modules/@angular/animation/package.json index 96fe66eb8f..d0fec906d9 100644 --- a/modules/@angular/animation/package.json +++ b/modules/@angular/animation/package.json @@ -2,9 +2,10 @@ "name": "@angular/animation", "version": "0.0.0-PLACEHOLDER", "description": "Angular - animation integration with web-animations", - "main": "bundles/animation.umd.js", - "module": "index.js", - "typings": "index.d.ts", + "main": "./bundles/animation.umd.js", + "module": "./@angular/animation.es5.js", + "es2015": "./@angular/animation.js", + "typings": "./typings/animation.d.ts", "author": "angular", "license": "MIT", "peerDependencies": { diff --git a/modules/@angular/animation/rollup-testing.config.js b/modules/@angular/animation/rollup-testing.config.js deleted file mode 100644 index 3c37bc8f76..0000000000 --- a/modules/@angular/animation/rollup-testing.config.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @license - * 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 - */ - -export default { - entry: '../../../dist/packages-dist/animation/testing/index.js', - dest: '../../../dist/packages-dist/animation/bundles/animation-testing.umd.js', - format: 'umd', - moduleName: 'ng.animation.testing', - globals: { - '@angular/core': 'ng.core', - '@angular/animation': 'ng.animation', - 'rxjs/Observable': 'Rx', - 'rxjs/Subject': 'Rx' - } -}; diff --git a/modules/@angular/animation/rollup.config.js b/modules/@angular/animation/rollup.config.js deleted file mode 100644 index 9ecbc1047a..0000000000 --- a/modules/@angular/animation/rollup.config.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @license - * 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 - */ - -export default { - entry: '../../../dist/packages-dist/animation/index.js', - dest: '../../../dist/packages-dist/animation/bundles/animation.umd.js', - format: 'umd', - moduleName: 'ng.animation', - globals: { - '@angular/core': 'ng.core', - 'rxjs/Observable': 'Rx', - 'rxjs/Subject': 'Rx', - } -}; diff --git a/modules/@angular/animation/src/engine/web_animations/web_animations_player.ts b/modules/@angular/animation/src/engine/web_animations/web_animations_player.ts index 28deb7a51e..51f3b796d4 100644 --- a/modules/@angular/animation/src/engine/web_animations/web_animations_player.ts +++ b/modules/@angular/animation/src/engine/web_animations/web_animations_player.ts @@ -80,9 +80,13 @@ export class WebAnimationsPlayer implements AnimationPlayer { }); if (missingStyleProps.length) { - for (let i = 1; i < keyframes.length; i++) { + const self = this; + // tslint:disable-next-line + for (var i = 1; i < keyframes.length; i++) { let kf = keyframes[i]; - missingStyleProps.forEach(prop => { kf[prop] = _computeStyle(this.element, prop); }); + missingStyleProps.forEach(function(prop) { + kf[prop] = _computeStyle(self.element, prop); + }); } } } diff --git a/modules/@angular/animation/tsconfig-build.json b/modules/@angular/animation/tsconfig-build.json index c6e81e351c..5746833ae1 100644 --- a/modules/@angular/animation/tsconfig-build.json +++ b/modules/@angular/animation/tsconfig-build.json @@ -13,7 +13,7 @@ "rootDir": ".", "sourceMap": true, "inlineSources": true, - "target": "es5", + "target": "es2015", "lib": ["es2015", "dom"], "skipLibCheck": true, // don't auto-discover @types/node, it results in a ///; diff --git a/modules/@angular/compiler/.babelrc-testing b/modules/@angular/compiler/.babelrc-testing new file mode 100644 index 0000000000..01b2a56822 --- /dev/null +++ b/modules/@angular/compiler/.babelrc-testing @@ -0,0 +1,15 @@ + +{ + "presets": ["es2015"], + "plugins": [["transform-es2015-modules-umd", { + "globals": { + "@angular/core": "ng.core", + "@angular/core/testing": "ng.core.testing", + "@angular/compiler": "ng.compiler", + "rxjs/Observable": "Rx", + "rxjs/Subject": "Rx" + }, + "exactGlobals": true + }]], + "moduleId": "@angular/core/testing" +} diff --git a/modules/@angular/compiler/index.ts b/modules/@angular/compiler/index.ts index 34feab50a4..03a69b6aa6 100644 --- a/modules/@angular/compiler/index.ts +++ b/modules/@angular/compiler/index.ts @@ -9,59 +9,8 @@ /** * @module * @description - * Entry point for all APIs of the compiler package. - * - *
- *
Unstable APIs
- *

- * All compiler apis are currently considered experimental and private! - *

- *

- * We expect the APIs in this package to keep on changing. Do not rely on them. - *

- *
+ * Entry point for all public APIs of the compiler package. */ -export {VERSION} from './src/version'; -export * from './src/template_parser/template_ast'; -export {TEMPLATE_TRANSFORMS} from './src/template_parser/template_parser'; -export {CompilerConfig, RenderTypes} from './src/config'; -export * from './src/compile_metadata'; -export * from './src/aot/compiler_factory'; -export * from './src/aot/compiler'; -export * from './src/aot/compiler_options'; -export * from './src/aot/compiler_host'; -export * from './src/aot/static_reflector'; -export * from './src/aot/static_reflection_capabilities'; -export * from './src/aot/static_symbol'; -export * from './src/aot/static_symbol_resolver'; -export * from './src/aot/summary_resolver'; -export * from './src/summary_resolver'; -export {JitCompiler} from './src/jit/compiler'; -export * from './src/jit/compiler_factory'; -export * from './src/url_resolver'; -export * from './src/resource_loader'; -export {DirectiveResolver} from './src/directive_resolver'; -export {PipeResolver} from './src/pipe_resolver'; -export {NgModuleResolver} from './src/ng_module_resolver'; -export {DEFAULT_INTERPOLATION_CONFIG, InterpolationConfig} from './src/ml_parser/interpolation_config'; -export * from './src/schema/element_schema_registry'; -export * from './src/i18n/index'; -export * from './src/directive_normalizer'; -export * from './src/expression_parser/lexer'; -export * from './src/expression_parser/parser'; -export * from './src/metadata_resolver'; -export * from './src/ml_parser/html_parser'; -export * from './src/ml_parser/interpolation_config'; -export {NgModuleCompiler} from './src/ng_module_compiler'; -export {DirectiveWrapperCompiler} from './src/directive_wrapper_compiler'; -export * from './src/output/path_util'; -export * from './src/output/ts_emitter'; -export * from './src/parse_util'; -export * from './src/schema/dom_element_schema_registry'; -export * from './src/selector'; -export * from './src/style_compiler'; -export * from './src/template_parser/template_parser'; -export {ViewCompiler} from './src/view_compiler/view_compiler'; -export {AnimationParser} from './src/animation/animation_parser'; -export {isSyntaxError, syntaxError} from './src/util'; +export * from './src/compiler'; + // This file only reexports content of the `src` folder. Keep it that way. diff --git a/modules/@angular/compiler/package.json b/modules/@angular/compiler/package.json index c8534846b3..72e6de1a38 100644 --- a/modules/@angular/compiler/package.json +++ b/modules/@angular/compiler/package.json @@ -2,9 +2,10 @@ "name": "@angular/compiler", "version": "0.0.0-PLACEHOLDER", "description": "Angular - the compiler library", - "main": "bundles/compiler.umd.js", - "module": "index.js", - "typings": "index.d.ts", + "main": "./bundles/compiler.umd.js", + "module": "./@angular/compiler.es5.js", + "es2015": "./@angular/compiler.js", + "typings": "./typings/compiler.d.ts", "author": "angular", "license": "MIT", "peerDependencies": { diff --git a/modules/@angular/compiler/rollup-testing.config.js b/modules/@angular/compiler/rollup-testing.config.js deleted file mode 100644 index 8772530d02..0000000000 --- a/modules/@angular/compiler/rollup-testing.config.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @license - * 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 - */ - -export default { - entry: '../../../dist/packages-dist/compiler/testing/index.js', - dest: '../../../dist/packages-dist/compiler/bundles/compiler-testing.umd.js', - format: 'umd', - moduleName: 'ng.compiler.testing', - globals: { - '@angular/core': 'ng.core', - '@angular/core/testing': 'ng.core.testing', - '@angular/compiler': 'ng.compiler', - 'rxjs/Observable': 'Rx', - 'rxjs/Subject': 'Rx' - } -}; diff --git a/modules/@angular/compiler/rollup.config.js b/modules/@angular/compiler/rollup-umd.config.js similarity index 89% rename from modules/@angular/compiler/rollup.config.js rename to modules/@angular/compiler/rollup-umd.config.js index 4aa5777651..8227119479 100644 --- a/modules/@angular/compiler/rollup.config.js +++ b/modules/@angular/compiler/rollup-umd.config.js @@ -7,7 +7,7 @@ */ export default { - entry: '../../../dist/packages-dist/compiler/index.js', + entry: '../../../dist/packages-dist/compiler/es5/index.js', dest: '../../../dist/packages-dist/compiler/bundles/compiler.umd.js', format: 'umd', moduleName: 'ng.compiler', diff --git a/modules/@angular/compiler/src/compile_metadata.ts b/modules/@angular/compiler/src/compile_metadata.ts index a1f4e26994..1dd59751e3 100644 --- a/modules/@angular/compiler/src/compile_metadata.ts +++ b/modules/@angular/compiler/src/compile_metadata.ts @@ -6,7 +6,10 @@ * found in the LICENSE file at https://angular.io/license */ -import {ChangeDetectionStrategy, ComponentFactory, ComponentRenderTypeV2, SchemaMetadata, Type, ViewEncapsulation, ɵLifecycleHooks, ɵreflector} from '@angular/core'; +import { + ChangeDetectionStrategy, ComponentFactory, SchemaMetadata, Type, ViewEncapsulation, ɵLifecycleHooks, ɵreflector, + RendererTypeV2 +} from '@angular/core'; import {StaticSymbol} from './aot/static_symbol'; import {ListWrapper} from './facade/collection'; diff --git a/modules/@angular/compiler/src/compiler.ts b/modules/@angular/compiler/src/compiler.ts new file mode 100644 index 0000000000..b89d0f8c4d --- /dev/null +++ b/modules/@angular/compiler/src/compiler.ts @@ -0,0 +1,70 @@ +/** + * @license + * 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 + */ + +/** + * @module + * @description + * Entry point for all APIs of the compiler package. + * + *
+ *
Unstable APIs
+ *

+ * All compiler apis are currently considered experimental and private! + *

+ *

+ * We expect the APIs in this package to keep on changing. Do not rely on them. + *

+ *
+ */ +export {VERSION} from './version'; +export * from './template_parser/template_ast'; +export {TEMPLATE_TRANSFORMS} from './template_parser/template_parser'; +export {CompilerConfig, RenderTypes} from './config'; +export * from './compile_metadata'; +export * from './aot/compiler_factory'; +export * from './aot/compiler'; +export * from './aot/compiler_host'; +export * from './aot/static_reflector'; +export * from './aot/static_reflection_capabilities'; +export * from './aot/static_symbol'; +export * from './aot/static_symbol_resolver'; +export * from './aot/summary_resolver'; +export * from './summary_resolver'; +export {JitCompiler} from './jit/compiler'; +export * from './jit/compiler_factory'; +export * from './url_resolver'; +export * from './resource_loader'; +export {DirectiveResolver} from './directive_resolver'; +export {PipeResolver} from './pipe_resolver'; +export {NgModuleResolver} from './ng_module_resolver'; +export {DEFAULT_INTERPOLATION_CONFIG, InterpolationConfig} from './ml_parser/interpolation_config'; +export * from './schema/element_schema_registry'; +export * from './i18n/index'; +export * from './directive_normalizer'; +export * from './expression_parser/ast'; +export * from './expression_parser/lexer'; +export * from './expression_parser/parser'; +export * from './metadata_resolver'; +export * from './ml_parser/ast'; +export * from './ml_parser/html_parser'; +export * from './ml_parser/html_tags'; +export * from './ml_parser/interpolation_config'; +export * from './ml_parser/tags'; +export {NgModuleCompiler} from './ng_module_compiler'; +export {DirectiveWrapperCompiler} from './directive_wrapper_compiler'; +export * from './output/path_util'; +export * from './output/ts_emitter'; +export * from './parse_util'; +export * from './schema/dom_element_schema_registry'; +export * from './selector'; +export * from './style_compiler'; +export * from './template_parser/template_parser'; +export {ViewCompiler} from './view_compiler/view_compiler'; +export {AnimationParser} from './animation/animation_parser'; +export {isSyntaxError, syntaxError} from './util'; +// This file only reexports content of the `src` folder. Keep it that way. diff --git a/modules/@angular/compiler/src/identifiers.ts b/modules/@angular/compiler/src/identifiers.ts index 06b021ff1e..520acd41d0 100644 --- a/modules/@angular/compiler/src/identifiers.ts +++ b/modules/@angular/compiler/src/identifiers.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {ANALYZE_FOR_ENTRY_COMPONENTS, ChangeDetectionStrategy, ChangeDetectorRef, ComponentFactory, ComponentFactoryResolver, ComponentRef, ElementRef, Injector, LOCALE_ID, NgModuleFactory, QueryList, RenderComponentType, Renderer, RendererTypeV2, SecurityContext, SimpleChange, TRANSLATIONS_FORMAT, TemplateRef, ViewContainerRef, ViewEncapsulation, ɵAnimationGroupPlayer, ɵAnimationKeyframe, ɵAnimationSequencePlayer, ɵAnimationStyles, ɵAnimationTransition, ɵAppView, ɵChangeDetectorStatus, ɵCodegenComponentFactoryResolver, ɵComponentRef_, ɵDebugAppView, ɵDebugContext, ɵNgModuleInjector, ɵNoOpAnimationPlayer, ɵStaticNodeDebugInfo, ɵTemplateRef_, ɵValueUnwrapper, ɵViewContainer, ɵViewType, ɵbalanceAnimationKeyframes, ɵclearStyles, ɵcollectAndResolveStyles, ɵdevModeEqual, ɵprepareFinalAnimationStyles, ɵreflector, ɵregisterModuleFactory, ɵrenderStyles, ɵviewEngine, ɵview_utils} from '@angular/core'; +import {ANALYZE_FOR_ENTRY_COMPONENTS, ChangeDetectionStrategy, ChangeDetectorRef, ComponentFactory, ComponentFactoryResolver, ComponentRef, ElementRef, Injector, LOCALE_ID, NgModuleFactory, QueryList, RenderComponentType, Renderer, SecurityContext, SimpleChange, TRANSLATIONS_FORMAT, TemplateRef, ViewContainerRef, ViewEncapsulation, ɵAnimationGroupPlayer, ɵAnimationKeyframe, ɵAnimationSequencePlayer, ɵAnimationStyles, ɵAnimationTransition, ɵAppView, ɵChangeDetectorStatus, ɵCodegenComponentFactoryResolver, ɵComponentRef_, ɵDebugAppView, ɵDebugContext, ɵEMPTY_ARRAY, ɵEMPTY_INLINE_ARRAY, ɵEMPTY_MAP, ɵInlineArray16, ɵInlineArray2, ɵInlineArray4, ɵInlineArray8, ɵInlineArrayDynamic, ɵNgModuleInjector, ɵNoOpAnimationPlayer, ɵStaticNodeDebugInfo, ɵTemplateRef_, ɵValueUnwrapper, ɵViewContainer, ɵViewType, ɵViewUtils, ɵanchorDef, ɵbalanceAnimationKeyframes, ɵcastByValue, ɵcheckBinding, ɵcheckBindingChange, ɵcheckRenderAttribute, ɵcheckRenderClass, ɵcheckRenderProperty, ɵcheckRenderStyle, ɵcheckRenderText, ɵclearStyles, ɵcollectAndResolveStyles, ɵcreateRendererTypeV2, ɵcreateRenderComponentType, ɵcreateRenderElement, ɵdevModeEqual, ɵdirectiveDef, ɵelementDef, ɵinlineInterpolate, ɵinterpolate, ɵngContentDef, ɵnodeValue, ɵnoop, ɵpipeDef, ɵprepareFinalAnimationStyles, ɵproviderDef, ɵpureArrayDef, ɵpureObjectDef, ɵpurePipeDef, ɵpureProxy1, ɵpureProxy10, ɵpureProxy2, ɵpureProxy3, ɵpureProxy4, ɵpureProxy5, ɵpureProxy6, ɵpureProxy7, ɵpureProxy8, ɵpureProxy9, ɵqueryDef, ɵreflector, ɵregisterModuleFactory, ɵrenderStyles, ɵselectOrCreateRenderHostElement, ɵsetBindingDebugInfo, ɵsetBindingDebugInfoForChanges, ɵsubscribeToRenderElement, ɵtextDef, ɵunwrapValue, ɵviewDef} from '@angular/core'; import {CompileIdentifierMetadata, CompileTokenMetadata} from './compile_metadata'; @@ -16,7 +16,6 @@ const VIEW_UTILS_MODULE_URL = assetUrl('core', 'linker/view_utils'); export interface IdentifierSpec { name: string; moduleUrl: string; - member?: string; runtime: any; } @@ -26,8 +25,7 @@ export class Identifiers { moduleUrl: CORE, runtime: ANALYZE_FOR_ENTRY_COMPONENTS }; - static ViewUtils: IdentifierSpec = - {name: 'ɵview_utils', moduleUrl: CORE, member: 'ViewUtils', runtime: ɵview_utils.ViewUtils}; + static ViewUtils: IdentifierSpec = {name: 'ɵViewUtils', moduleUrl: CORE, runtime: ɵViewUtils}; static AppView: IdentifierSpec = {name: 'ɵAppView', moduleUrl: CORE, runtime: ɵAppView}; static DebugAppView: IdentifierSpec = {name: 'ɵDebugAppView', moduleUrl: CORE, runtime: ɵDebugAppView}; @@ -101,100 +99,59 @@ export class Identifiers { moduleUrl: CORE, runtime: ɵChangeDetectorStatus }; - static checkBinding: IdentifierSpec = { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'checkBinding', - runtime: ɵview_utils.checkBinding - }; - static checkBindingChange: IdentifierSpec = { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'checkBindingChange', - runtime: ɵview_utils.checkBindingChange - }; - static checkRenderText: IdentifierSpec = { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'checkRenderText', - runtime: ɵview_utils.checkRenderText - }; + static checkBinding: + IdentifierSpec = {name: 'ɵcheckBinding', moduleUrl: CORE, runtime: ɵcheckBinding}; + static checkBindingChange: + IdentifierSpec = {name: 'ɵcheckBindingChange', moduleUrl: CORE, runtime: ɵcheckBindingChange}; + static checkRenderText: + IdentifierSpec = {name: 'ɵcheckRenderText', moduleUrl: CORE, runtime: ɵcheckRenderText}; static checkRenderProperty: IdentifierSpec = { - name: 'ɵview_utils', + name: 'ɵcheckRenderProperty', moduleUrl: CORE, - member: 'checkRenderProperty', - runtime: ɵview_utils.checkRenderProperty + runtime: ɵcheckRenderProperty }; static checkRenderAttribute: IdentifierSpec = { - name: 'ɵview_utils', + name: 'ɵcheckRenderAttribute', moduleUrl: CORE, - member: 'checkRenderAttribute', - runtime: ɵview_utils.checkRenderAttribute - }; - static checkRenderClass: IdentifierSpec = { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'checkRenderClass', - runtime: ɵview_utils.checkRenderClass - }; - static checkRenderStyle: IdentifierSpec = { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'checkRenderStyle', - runtime: ɵview_utils.checkRenderStyle + runtime: ɵcheckRenderAttribute }; + static checkRenderClass: + IdentifierSpec = {name: 'ɵcheckRenderClass', moduleUrl: CORE, runtime: ɵcheckRenderClass}; + static checkRenderStyle: + IdentifierSpec = {name: 'ɵcheckRenderStyle', moduleUrl: CORE, runtime: ɵcheckRenderStyle}; static devModeEqual: IdentifierSpec = {name: 'ɵdevModeEqual', moduleUrl: CORE, runtime: ɵdevModeEqual}; - static inlineInterpolate: IdentifierSpec = { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'inlineInterpolate', - runtime: ɵview_utils.inlineInterpolate - }; - static interpolate: IdentifierSpec = { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'interpolate', - runtime: ɵview_utils.interpolate - }; - static castByValue: IdentifierSpec = { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'castByValue', - runtime: ɵview_utils.castByValue - }; - static EMPTY_ARRAY: IdentifierSpec = { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'EMPTY_ARRAY', - runtime: ɵview_utils.EMPTY_ARRAY - }; - static EMPTY_MAP: IdentifierSpec = - {name: 'ɵview_utils', moduleUrl: CORE, member: 'EMPTY_MAP', runtime: ɵview_utils.EMPTY_MAP}; + static inlineInterpolate: + IdentifierSpec = {name: 'ɵinlineInterpolate', moduleUrl: CORE, runtime: ɵinlineInterpolate}; + static interpolate: + IdentifierSpec = {name: 'ɵinterpolate', moduleUrl: CORE, runtime: ɵinterpolate}; + static castByValue: + IdentifierSpec = {name: 'ɵcastByValue', moduleUrl: CORE, runtime: ɵcastByValue}; + static EMPTY_ARRAY: + IdentifierSpec = {name: 'ɵEMPTY_ARRAY', moduleUrl: CORE, runtime: ɵEMPTY_ARRAY}; + static EMPTY_MAP: IdentifierSpec = {name: 'ɵEMPTY_MAP', moduleUrl: CORE, runtime: ɵEMPTY_MAP}; static createRenderElement: IdentifierSpec = { - name: 'ɵview_utils', + name: 'ɵcreateRenderElement', moduleUrl: CORE, - member: 'createRenderElement', - runtime: ɵview_utils.createRenderElement + runtime: ɵcreateRenderElement }; static selectOrCreateRenderHostElement: IdentifierSpec = { - name: 'ɵview_utils', + name: 'ɵselectOrCreateRenderHostElement', moduleUrl: CORE, - member: 'selectOrCreateRenderHostElement', - runtime: ɵview_utils.selectOrCreateRenderHostElement + runtime: ɵselectOrCreateRenderHostElement }; static pureProxies: IdentifierSpec[] = [ null, - {name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy1', runtime: ɵview_utils.pureProxy1}, - {name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy2', runtime: ɵview_utils.pureProxy2}, - {name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy3', runtime: ɵview_utils.pureProxy3}, - {name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy4', runtime: ɵview_utils.pureProxy4}, - {name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy5', runtime: ɵview_utils.pureProxy5}, - {name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy6', runtime: ɵview_utils.pureProxy6}, - {name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy7', runtime: ɵview_utils.pureProxy7}, - {name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy8', runtime: ɵview_utils.pureProxy8}, - {name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy9', runtime: ɵview_utils.pureProxy9}, - {name: 'ɵview_utils', moduleUrl: CORE, member: 'pureProxy10', runtime: ɵview_utils.pureProxy10}, + {name: 'ɵpureProxy1', moduleUrl: CORE, runtime: ɵpureProxy1}, + {name: 'ɵpureProxy2', moduleUrl: CORE, runtime: ɵpureProxy2}, + {name: 'ɵpureProxy3', moduleUrl: CORE, runtime: ɵpureProxy3}, + {name: 'ɵpureProxy4', moduleUrl: CORE, runtime: ɵpureProxy4}, + {name: 'ɵpureProxy5', moduleUrl: CORE, runtime: ɵpureProxy5}, + {name: 'ɵpureProxy6', moduleUrl: CORE, runtime: ɵpureProxy6}, + {name: 'ɵpureProxy7', moduleUrl: CORE, runtime: ɵpureProxy7}, + {name: 'ɵpureProxy8', moduleUrl: CORE, runtime: ɵpureProxy8}, + {name: 'ɵpureProxy9', moduleUrl: CORE, runtime: ɵpureProxy9}, + {name: 'ɵpureProxy10', moduleUrl: CORE, runtime: ɵpureProxy10}, ]; static SecurityContext: IdentifierSpec = { name: 'SecurityContext', @@ -243,16 +200,14 @@ export class Identifiers { static TRANSLATIONS_FORMAT: IdentifierSpec = {name: 'TRANSLATIONS_FORMAT', moduleUrl: CORE, runtime: TRANSLATIONS_FORMAT}; static setBindingDebugInfo: IdentifierSpec = { - name: 'ɵview_utils', + name: 'ɵsetBindingDebugInfo', moduleUrl: CORE, - member: 'setBindingDebugInfo', - runtime: ɵview_utils.setBindingDebugInfo + runtime: ɵsetBindingDebugInfo }; static setBindingDebugInfoForChanges: IdentifierSpec = { - name: 'ɵview_utils', + name: 'ɵsetBindingDebugInfoForChanges', moduleUrl: CORE, - member: 'setBindingDebugInfoForChanges', - runtime: ɵview_utils.setBindingDebugInfoForChanges + runtime: ɵsetBindingDebugInfoForChanges }; static AnimationTransition: IdentifierSpec = { name: 'ɵAnimationTransition', @@ -264,127 +219,55 @@ export class Identifiers { static InlineArray: IdentifierSpec = {name: 'InlineArray', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: null}; static inlineArrays: IdentifierSpec[] = [ - { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'InlineArray2', - runtime: ɵview_utils.InlineArray2 - }, - { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'InlineArray2', - runtime: ɵview_utils.InlineArray2 - }, - { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'InlineArray4', - runtime: ɵview_utils.InlineArray4 - }, - { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'InlineArray8', - runtime: ɵview_utils.InlineArray8 - }, - { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'InlineArray16', - runtime: ɵview_utils.InlineArray16 - }, + {name: 'ɵInlineArray2', moduleUrl: CORE, runtime: ɵInlineArray2}, + {name: 'ɵInlineArray2', moduleUrl: CORE, runtime: ɵInlineArray2}, + {name: 'ɵInlineArray4', moduleUrl: CORE, runtime: ɵInlineArray4}, + {name: 'ɵInlineArray8', moduleUrl: CORE, runtime: ɵInlineArray8}, + {name: 'ɵInlineArray16', moduleUrl: CORE, runtime: ɵInlineArray16}, ]; - static EMPTY_INLINE_ARRAY: IdentifierSpec = { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'EMPTY_INLINE_ARRAY', - runtime: ɵview_utils.EMPTY_INLINE_ARRAY - }; - static InlineArrayDynamic: IdentifierSpec = { - name: 'ɵview_utils', - moduleUrl: CORE, - member: 'InlineArrayDynamic', - runtime: ɵview_utils.InlineArrayDynamic - }; + static EMPTY_INLINE_ARRAY: + IdentifierSpec = {name: 'ɵEMPTY_INLINE_ARRAY', moduleUrl: CORE, runtime: ɵEMPTY_INLINE_ARRAY}; + static InlineArrayDynamic: + IdentifierSpec = {name: 'ɵInlineArrayDynamic', moduleUrl: CORE, runtime: ɵInlineArrayDynamic}; static subscribeToRenderElement: IdentifierSpec = { - name: 'ɵview_utils', + name: 'ɵsubscribeToRenderElement', moduleUrl: CORE, - member: 'subscribeToRenderElement', - runtime: ɵview_utils.subscribeToRenderElement + runtime: ɵsubscribeToRenderElement }; static createRenderComponentType: IdentifierSpec = { - name: 'ɵview_utils', + name: 'ɵcreateRenderComponentType', moduleUrl: CORE, - member: 'createRenderComponentType', - runtime: ɵview_utils.createRenderComponentType + runtime: ɵcreateRenderComponentType }; - static noop: IdentifierSpec = - {name: 'ɵview_utils', moduleUrl: CORE, member: 'noop', runtime: ɵview_utils.noop}; + static noop: IdentifierSpec = {name: 'ɵnoop', moduleUrl: CORE, runtime: ɵnoop}; - static viewDef: IdentifierSpec = - {name: 'ɵviewEngine', moduleUrl: CORE, member: 'viewDef', runtime: ɵviewEngine.viewDef}; - static elementDef: IdentifierSpec = - {name: 'ɵviewEngine', moduleUrl: CORE, member: 'elementDef', runtime: ɵviewEngine.elementDef}; - static anchorDef: IdentifierSpec = - {name: 'ɵviewEngine', moduleUrl: CORE, member: 'anchorDef', runtime: ɵviewEngine.anchorDef}; - static textDef: IdentifierSpec = - {name: 'ɵviewEngine', moduleUrl: CORE, member: 'textDef', runtime: ɵviewEngine.textDef}; - static directiveDef: IdentifierSpec = { - name: 'ɵviewEngine', - moduleUrl: CORE, - member: 'directiveDef', - runtime: ɵviewEngine.directiveDef - }; - static providerDef: IdentifierSpec = { - name: 'ɵviewEngine', - moduleUrl: CORE, - member: 'providerDef', - runtime: ɵviewEngine.providerDef - }; - static queryDef: IdentifierSpec = - {name: 'ɵviewEngine', moduleUrl: CORE, member: 'queryDef', runtime: ɵviewEngine.queryDef}; - static pureArrayDef: IdentifierSpec = { - name: 'ɵviewEngine', - moduleUrl: CORE, - member: 'pureArrayDef', - runtime: ɵviewEngine.pureArrayDef - }; - static pureObjectDef: IdentifierSpec = { - name: 'ɵviewEngine', - moduleUrl: CORE, - member: 'pureObjectDef', - runtime: ɵviewEngine.pureObjectDef - }; - static purePipeDef: IdentifierSpec = { - name: 'ɵviewEngine', - moduleUrl: CORE, - member: 'purePipeDef', - runtime: ɵviewEngine.purePipeDef - }; - static pipeDef: IdentifierSpec = - {name: 'ɵviewEngine', moduleUrl: CORE, member: 'pipeDef', runtime: ɵviewEngine.pipeDef}; - static nodeValue: IdentifierSpec = - {name: 'ɵviewEngine', moduleUrl: CORE, member: 'nodeValue', runtime: ɵviewEngine.nodeValue}; - static ngContentDef: IdentifierSpec = { - name: 'ɵviewEngine', - moduleUrl: CORE, - member: 'ngContentDef', - runtime: ɵviewEngine.ngContentDef - }; - static unwrapValue: IdentifierSpec = { - name: 'ɵviewEngine', - moduleUrl: CORE, - member: 'unwrapValue', - runtime: ɵviewEngine.unwrapValue - }; + static viewDef: IdentifierSpec = {name: 'ɵviewDef', moduleUrl: CORE, runtime: ɵviewDef}; + static elementDef: IdentifierSpec = {name: 'ɵelementDef', moduleUrl: CORE, runtime: ɵelementDef}; + static anchorDef: IdentifierSpec = {name: 'ɵanchorDef', moduleUrl: CORE, runtime: ɵanchorDef}; + static textDef: IdentifierSpec = {name: 'ɵtextDef', moduleUrl: CORE, runtime: ɵtextDef}; + static directiveDef: + IdentifierSpec = {name: 'ɵdirectiveDef', moduleUrl: CORE, runtime: ɵdirectiveDef}; + static providerDef: + IdentifierSpec = {name: 'ɵproviderDef', moduleUrl: CORE, runtime: ɵproviderDef}; + static queryDef: IdentifierSpec = {name: 'ɵqueryDef', moduleUrl: CORE, runtime: ɵqueryDef}; + static pureArrayDef: + IdentifierSpec = {name: 'ɵpureArrayDef', moduleUrl: CORE, runtime: ɵpureArrayDef}; + static pureObjectDef: + IdentifierSpec = {name: 'ɵpureObjectRef', moduleUrl: CORE, runtime: ɵpureObjectDef}; + static purePipeDef: + IdentifierSpec = {name: 'ɵpurePipeDef', moduleUrl: CORE, runtime: ɵpurePipeDef}; + static pipeDef: IdentifierSpec = {name: 'ɵpipeDef', moduleUrl: CORE, runtime: ɵpipeDef}; + static nodeValue: IdentifierSpec = {name: 'ɵnodeValue', moduleUrl: CORE, runtime: ɵnodeValue}; + static ngContentDef: + IdentifierSpec = {name: 'ɵngContentDef', moduleUrl: CORE, runtime: ɵngContentDef}; + static unwrapValue: + IdentifierSpec = {name: 'ɵunwrapValue', moduleUrl: CORE, runtime: ɵunwrapValue}; static createRendererTypeV2: IdentifierSpec = { - name: 'ɵviewEngine', + name: 'ɵcreateRendererTypeV2', moduleUrl: CORE, - member: 'createRendererTypeV2', - runtime: ɵviewEngine.createRendererTypeV2 + runtime: ɵcreateRendererTypeV2 }; static RendererTypeV2: IdentifierSpec = { name: 'RendererTypeV2', @@ -417,8 +300,7 @@ export function assetUrl(pkg: string, path: string = null, type: string = 'src') export function resolveIdentifier(identifier: IdentifierSpec) { let name = identifier.name; - let members = identifier.member && [identifier.member]; - return ɵreflector.resolveIdentifier(name, identifier.moduleUrl, members, identifier.runtime); + return ɵreflector.resolveIdentifier(name, identifier.moduleUrl, null, identifier.runtime); } export function createIdentifier(identifier: IdentifierSpec): CompileIdentifierMetadata { diff --git a/modules/@angular/compiler/src/injectable.ts b/modules/@angular/compiler/src/injectable.ts index 59b94d13a1..b5dcb4ec2e 100644 --- a/modules/@angular/compiler/src/injectable.ts +++ b/modules/@angular/compiler/src/injectable.ts @@ -10,6 +10,7 @@ * A replacement for @Injectable to be used in the compiler, so that * we don't try to evaluate the metadata in the compiler during AoT. * This decorator is enough to make the compiler work with the ReflectiveInjector though. + * @Annotation */ export function CompilerInjectable(): (data: any) => any { return (x) => x; diff --git a/modules/@angular/compiler/src/jit/compiler.ts b/modules/@angular/compiler/src/jit/compiler.ts index 42b247f805..d9d702263d 100644 --- a/modules/@angular/compiler/src/jit/compiler.ts +++ b/modules/@angular/compiler/src/jit/compiler.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {Compiler, ComponentFactory, ComponentRenderTypeV2, Inject, Injector, ModuleWithComponentFactories, NgModuleFactory, Type, ɵview_utils as view_utils} from '@angular/core'; +import {Compiler, ComponentFactory, Inject, Injector, ModuleWithComponentFactories, NgModuleFactory, Type, ɵgetComponentFactoryViewClass as getComponentFactoryViewClass} from '@angular/core'; import {AnimationCompiler} from '../animation/animation_compiler'; import {AnimationParser} from '../animation/animation_parser'; @@ -221,7 +221,7 @@ export class JitCompiler implements Compiler { const componentFactory = >compMeta.componentFactory; const hostClass = this._metadataResolver.getHostComponentType(compType); const hostMeta = createHostComponentMeta( - hostClass, compMeta, view_utils.getComponentFactoryViewClass(componentFactory)); + hostClass, compMeta, getComponentFactoryViewClass(componentFactory)); compiledTemplate = new CompiledTemplate(true, compMeta.type, hostMeta, ngModule, [compMeta.type]); this._compiledHostTemplateCache.set(compType, compiledTemplate); diff --git a/modules/@angular/compiler/src/metadata_resolver.ts b/modules/@angular/compiler/src/metadata_resolver.ts index 40c84e71bf..b5b6b08036 100644 --- a/modules/@angular/compiler/src/metadata_resolver.ts +++ b/modules/@angular/compiler/src/metadata_resolver.ts @@ -6,7 +6,14 @@ * found in the LICENSE file at https://angular.io/license */ -import {AnimationAnimateMetadata, AnimationEntryMetadata, AnimationGroupMetadata, AnimationKeyframesSequenceMetadata, AnimationMetadata, AnimationStateDeclarationMetadata, AnimationStateMetadata, AnimationStateTransitionMetadata, AnimationStyleMetadata, AnimationWithStepsMetadata, Attribute, ChangeDetectionStrategy, Component, ComponentFactory, ComponentRenderTypeV2, Directive, Host, Inject, Injectable, InjectionToken, ModuleWithProviders, Optional, Provider, Query, SchemaMetadata, Self, SkipSelf, Type, resolveForwardRef, ɵERROR_COMPONENT_TYPE, ɵLIFECYCLE_HOOKS_VALUES, ɵReflectorReader, ɵreflector, ɵviewEngine} from '@angular/core'; +import { + AnimationAnimateMetadata, AnimationEntryMetadata, AnimationGroupMetadata, AnimationKeyframesSequenceMetadata, + AnimationMetadata, AnimationStateDeclarationMetadata, AnimationStateMetadata, AnimationStateTransitionMetadata, + AnimationStyleMetadata, AnimationWithStepsMetadata, Attribute, ChangeDetectionStrategy, Component, ComponentFactory, + Directive, Host, Inject, Injectable, InjectionToken, ModuleWithProviders, Optional, Provider, Query, SchemaMetadata, + Self, SkipSelf, Type, resolveForwardRef, ɵERROR_COMPONENT_TYPE, ɵLIFECYCLE_HOOKS_VALUES, ɵReflectorReader, + ɵcreateComponentFactory as createComponentFactory, ɵreflector, RendererTypeV2 +} from '@angular/core'; import {StaticSymbol, StaticSymbolCache} from './aot/static_symbol'; import {ngfactoryFilePath} from './aot/util'; @@ -151,7 +158,7 @@ export class CompileMetadataResolver { } else { const hostView = this.getHostComponentViewClass(dirType); if (this._config.useViewEngine) { - return ɵviewEngine.createComponentFactory(selector, dirType, hostView); + return createComponentFactory(selector, dirType, hostView); } else { return new ComponentFactory(selector, hostView, dirType); } diff --git a/modules/@angular/compiler/src/view_compiler_next/view_compiler.ts b/modules/@angular/compiler/src/view_compiler_next/view_compiler.ts index f5d5a57a9a..f6efbd27ed 100644 --- a/modules/@angular/compiler/src/view_compiler_next/view_compiler.ts +++ b/modules/@angular/compiler/src/view_compiler_next/view_compiler.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {ChangeDetectionStrategy, ViewEncapsulation, ɵLifecycleHooks as LifecycleHooks, ɵviewEngine as viewEngine} from '@angular/core'; +import {ChangeDetectionStrategy, ViewEncapsulation, ɵArgumentType as ArgumentType, ɵBindingType as BindingType, ɵDepFlags as DepFlags, ɵLifecycleHooks as LifecycleHooks, ɵNodeFlags as NodeFlags, ɵProviderType as ProviderType, ɵQueryBindingType as QueryBindingType, ɵQueryValueType as QueryValueType, ɵViewFlags as ViewFlags, ɵelementEventFullName as elementEventFullName} from '@angular/core'; import {AnimationEntryCompileResult} from '../animation/animation_compiler'; import {CompileDiDependencyMetadata, CompileDirectiveMetadata, CompileDirectiveSummary, CompilePipeSummary, CompileProviderMetadata, CompileTokenMetadata, CompileTypeMetadata, identifierModuleUrl, identifierName, rendererTypeName, tokenReference, viewClassName} from '../compile_metadata'; @@ -130,12 +130,12 @@ class ViewBuilder implements TemplateAstVisitor, LocalResolver, BuiltinConverter // Note: queries start with id 1 so we can use the number in a Bloom filter! const queryId = queryIndex + 1; const bindingType = - query.first ? viewEngine.QueryBindingType.First : viewEngine.QueryBindingType.All; - let flags = viewEngine.NodeFlags.HasViewQuery; + query.first ? QueryBindingType.First : QueryBindingType.All; + let flags = NodeFlags.HasViewQuery; if (queryIds.staticQueryIds.has(queryId)) { - flags |= viewEngine.NodeFlags.HasStaticQuery; + flags |= NodeFlags.HasStaticQuery; } else { - flags |= viewEngine.NodeFlags.HasDynamicQuery; + flags |= NodeFlags.HasDynamicQuery; } this.nodeDefs.push(() => o.importExpr(createIdentifier(Identifiers.queryDef)).callFn([ o.literal(flags), o.literal(queryId), @@ -149,7 +149,7 @@ class ViewBuilder implements TemplateAstVisitor, LocalResolver, BuiltinConverter // if the view is empty, or an embedded view has a view container as last root nde, // create an additional root node. this.nodeDefs.push(() => o.importExpr(createIdentifier(Identifiers.anchorDef)).callFn([ - o.literal(viewEngine.NodeFlags.None), o.NULL_EXPR, o.NULL_EXPR, o.literal(0) + o.literal(NodeFlags.None), o.NULL_EXPR, o.NULL_EXPR, o.literal(0) ])); } } @@ -161,9 +161,9 @@ class ViewBuilder implements TemplateAstVisitor, LocalResolver, BuiltinConverter const updateRendererFn = this._createUpdateFn(this.updateRendererExpressions); - let viewFlags = viewEngine.ViewFlags.None; + let viewFlags = ViewFlags.None; if (!this.parent && this.component.changeDetection === ChangeDetectionStrategy.OnPush) { - viewFlags |= viewEngine.ViewFlags.OnPush; + viewFlags |= ViewFlags.OnPush; } const viewFactory = new o.DeclareFunctionStmt( this.viewName, [], @@ -342,19 +342,17 @@ class ViewBuilder implements TemplateAstVisitor, LocalResolver, BuiltinConverter hostBindings: {value: AST, context: o.Expression}[], hostEvents: {context: o.Expression, eventAst: BoundEventAst}[], } { - let flags = viewEngine.NodeFlags.None; + let flags = NodeFlags.None; if (ast.hasViewContainer) { - flags |= viewEngine.NodeFlags.HasEmbeddedViews; + flags |= NodeFlags.HasEmbeddedViews; } const usedEvents = new Map(); ast.outputs.forEach((event) => { - usedEvents.set( - viewEngine.elementEventFullName(event.target, event.name), [event.target, event.name]); + usedEvents.set(elementEventFullName(event.target, event.name), [event.target, event.name]); }); ast.directives.forEach((dirAst) => { dirAst.hostEvents.forEach((event) => { - usedEvents.set( - viewEngine.elementEventFullName(event.target, event.name), [event.target, event.name]); + usedEvents.set(elementEventFullName(event.target, event.name), [event.target, event.name]); }); }); const hostBindings: {value: AST, context: o.Expression}[] = []; @@ -388,11 +386,11 @@ class ViewBuilder implements TemplateAstVisitor, LocalResolver, BuiltinConverter ast.queryMatches.forEach((match) => { let valueType: number; if (tokenReference(match.value) === resolveIdentifier(Identifiers.ElementRef)) { - valueType = viewEngine.QueryValueType.ElementRef; + valueType = QueryValueType.ElementRef; } else if (tokenReference(match.value) === resolveIdentifier(Identifiers.ViewContainerRef)) { - valueType = viewEngine.QueryValueType.ViewContainerRef; + valueType = QueryValueType.ViewContainerRef; } else if (tokenReference(match.value) === resolveIdentifier(Identifiers.TemplateRef)) { - valueType = viewEngine.QueryValueType.TemplateRef; + valueType = QueryValueType.TemplateRef; } if (valueType != null) { queryMatchExprs.push(o.literalArr([o.literal(match.queryId), o.literal(valueType)])); @@ -401,9 +399,9 @@ class ViewBuilder implements TemplateAstVisitor, LocalResolver, BuiltinConverter ast.references.forEach((ref) => { let valueType: number; if (!ref.value) { - valueType = viewEngine.QueryValueType.RenderElement; + valueType = QueryValueType.RenderElement; } else if (tokenReference(ref.value) === resolveIdentifier(Identifiers.TemplateRef)) { - valueType = viewEngine.QueryValueType.TemplateRef; + valueType = QueryValueType.TemplateRef; } if (valueType != null) { this.refNodeIndices[ref.name] = nodeIndex; @@ -434,15 +432,15 @@ class ViewBuilder implements TemplateAstVisitor, LocalResolver, BuiltinConverter this.nodeDefs.push(null); directiveAst.directive.queries.forEach((query, queryIndex) => { - let flags = viewEngine.NodeFlags.HasContentQuery; + let flags = NodeFlags.HasContentQuery; const queryId = directiveAst.contentQueryStartId + queryIndex; if (queryIds.staticQueryIds.has(queryId)) { - flags |= viewEngine.NodeFlags.HasStaticQuery; + flags |= NodeFlags.HasStaticQuery; } else { - flags |= viewEngine.NodeFlags.HasDynamicQuery; + flags |= NodeFlags.HasDynamicQuery; } const bindingType = - query.first ? viewEngine.QueryBindingType.First : viewEngine.QueryBindingType.All; + query.first ? QueryBindingType.First : QueryBindingType.All; this.nodeDefs.push(() => o.importExpr(createIdentifier(Identifiers.queryDef)).callFn([ o.literal(flags), o.literal(queryId), new o.LiteralMapExpr([new o.LiteralMapEntry(query.propertyName, o.literal(bindingType))]) @@ -462,7 +460,7 @@ class ViewBuilder implements TemplateAstVisitor, LocalResolver, BuiltinConverter if (ref.value && tokenReference(ref.value) === tokenReference(providerAst.token)) { this.refNodeIndices[ref.name] = nodeIndex; queryMatchExprs.push( - o.literalArr([o.literal(ref.name), o.literal(viewEngine.QueryValueType.Provider)])); + o.literalArr([o.literal(ref.name), o.literal(QueryValueType.Provider)])); } }); @@ -489,7 +487,7 @@ class ViewBuilder implements TemplateAstVisitor, LocalResolver, BuiltinConverter } }); if (directiveAst.inputs.length || - (flags & (viewEngine.NodeFlags.DoCheck | viewEngine.NodeFlags.OnInit)) > 0) { + (flags & (NodeFlags.DoCheck | NodeFlags.OnInit)) > 0) { this._addUpdateExpressions( nodeIndex, directiveAst.inputs.map((input) => { return {context: COMP_VAR, value: input.value}; }), @@ -551,12 +549,12 @@ class ViewBuilder implements TemplateAstVisitor, LocalResolver, BuiltinConverter providerType: number, depsExpr: o.Expression } { - let flags = viewEngine.NodeFlags.None; + let flags = NodeFlags.None; if (!providerAst.eager) { - flags |= viewEngine.NodeFlags.LazyProvider; + flags |= NodeFlags.LazyProvider; } if (providerAst.providerType === ProviderAstType.PrivateService) { - flags |= viewEngine.NodeFlags.PrivateProvider; + flags |= NodeFlags.PrivateProvider; } providerAst.lifecycleHooks.forEach((lifecycleHook) => { // for regular providers, we only support ngOnDestroy @@ -570,8 +568,8 @@ class ViewBuilder implements TemplateAstVisitor, LocalResolver, BuiltinConverter queryMatches.forEach((match) => { if (tokenReference(match.value) === tokenReference(providerAst.token)) { - queryMatchExprs.push(o.literalArr( - [o.literal(match.queryId), o.literal(viewEngine.QueryValueType.Provider)])); + queryMatchExprs.push( + o.literalArr([o.literal(match.queryId), o.literal(QueryValueType.Provider)])); } }); const {providerExpr, providerType, depsExpr} = providerDef(providerAst); @@ -672,7 +670,7 @@ class ViewBuilder implements TemplateAstVisitor, LocalResolver, BuiltinConverter private _createPipe(pipe: CompilePipeSummary): number { const nodeIndex = this.nodeDefs.length; - let flags = viewEngine.NodeFlags.None; + let flags = NodeFlags.None; pipe.type.lifecycleHooks.forEach((lifecycleHook) => { // for pipes, we only support ngOnDestroy if (lifecycleHook === LifecycleHooks.OnDestroy) { @@ -782,7 +780,7 @@ function multiProviderDef(providers: CompileProviderMetadata[]): o.fn(allParams, [new o.ReturnStatement(o.literalArr(exprs))], o.INFERRED_TYPE); return { providerExpr, - providerType: viewEngine.ProviderType.Factory, + providerType: ProviderType.Factory, depsExpr: o.literalArr(allDepDefs) }; @@ -803,19 +801,19 @@ function singleProviderDef(providerMeta: CompileProviderMetadata): let deps: CompileDiDependencyMetadata[]; if (providerMeta.useClass) { providerExpr = o.importExpr(providerMeta.useClass); - providerType = viewEngine.ProviderType.Class; + providerType = ProviderType.Class; deps = providerMeta.deps || providerMeta.useClass.diDeps; } else if (providerMeta.useFactory) { providerExpr = o.importExpr(providerMeta.useFactory); - providerType = viewEngine.ProviderType.Factory; + providerType = ProviderType.Factory; deps = providerMeta.deps || providerMeta.useFactory.diDeps; } else if (providerMeta.useExisting) { providerExpr = o.NULL_EXPR; - providerType = viewEngine.ProviderType.UseExisting; + providerType = ProviderType.UseExisting; deps = [{token: providerMeta.useExisting}]; } else { providerExpr = convertValueToOutputAst(providerMeta.useValue); - providerType = viewEngine.ProviderType.Value; + providerType = ProviderType.Value; deps = []; } const depsExpr = o.literalArr(deps.map(dep => depDef(dep))); @@ -830,17 +828,17 @@ function depDef(dep: CompileDiDependencyMetadata): o.Expression { // Note: the following fields have already been normalized out by provider_analyzer: // - isAttribute, isSelf, isHost const expr = dep.isValue ? convertValueToOutputAst(dep.value) : tokenExpr(dep.token); - let flags = viewEngine.DepFlags.None; + let flags = DepFlags.None; if (dep.isSkipSelf) { - flags |= viewEngine.DepFlags.SkipSelf; + flags |= DepFlags.SkipSelf; } if (dep.isOptional) { - flags |= viewEngine.DepFlags.Optional; + flags |= DepFlags.Optional; } if (dep.isValue) { - flags |= viewEngine.DepFlags.Value; + flags |= DepFlags.Value; } - return flags === viewEngine.DepFlags.None ? expr : o.literalArr([o.literal(flags), expr]); + return flags === DepFlags.None ? expr : o.literalArr([o.literal(flags), expr]); } function needsAdditionalRootNode(ast: TemplateAst): boolean { @@ -859,31 +857,31 @@ function needsAdditionalRootNode(ast: TemplateAst): boolean { } function lifecycleHookToNodeFlag(lifecycleHook: LifecycleHooks): number { - let nodeFlag = viewEngine.NodeFlags.None; + let nodeFlag = NodeFlags.None; switch (lifecycleHook) { case LifecycleHooks.AfterContentChecked: - nodeFlag = viewEngine.NodeFlags.AfterContentChecked; + nodeFlag = NodeFlags.AfterContentChecked; break; case LifecycleHooks.AfterContentInit: - nodeFlag = viewEngine.NodeFlags.AfterContentInit; + nodeFlag = NodeFlags.AfterContentInit; break; case LifecycleHooks.AfterViewChecked: - nodeFlag = viewEngine.NodeFlags.AfterViewChecked; + nodeFlag = NodeFlags.AfterViewChecked; break; case LifecycleHooks.AfterViewInit: - nodeFlag = viewEngine.NodeFlags.AfterViewInit; + nodeFlag = NodeFlags.AfterViewInit; break; case LifecycleHooks.DoCheck: - nodeFlag = viewEngine.NodeFlags.DoCheck; + nodeFlag = NodeFlags.DoCheck; break; case LifecycleHooks.OnChanges: - nodeFlag = viewEngine.NodeFlags.OnChanges; + nodeFlag = NodeFlags.OnChanges; break; case LifecycleHooks.OnDestroy: - nodeFlag = viewEngine.NodeFlags.OnDestroy; + nodeFlag = NodeFlags.OnDestroy; break; case LifecycleHooks.OnInit: - nodeFlag = viewEngine.NodeFlags.OnInit; + nodeFlag = NodeFlags.OnInit; break; } return nodeFlag; @@ -894,12 +892,12 @@ function elementBindingDefs(inputAsts: BoundElementPropertyAst[]): o.Expression[ switch (inputAst.type) { case PropertyBindingType.Attribute: return o.literalArr([ - o.literal(viewEngine.BindingType.ElementAttribute), o.literal(inputAst.name), + o.literal(BindingType.ElementAttribute), o.literal(inputAst.name), o.literal(inputAst.securityContext) ]); case PropertyBindingType.Property: return o.literalArr([ - o.literal(viewEngine.BindingType.ElementProperty), o.literal(inputAst.name), + o.literal(BindingType.ElementProperty), o.literal(inputAst.name), o.literal(inputAst.securityContext) ]); case PropertyBindingType.Animation: @@ -908,12 +906,10 @@ function elementBindingDefs(inputAsts: BoundElementPropertyAst[]): o.Expression[ o.literal(inputAst.securityContext) ]); case PropertyBindingType.Class: - return o.literalArr( - [o.literal(viewEngine.BindingType.ElementClass), o.literal(inputAst.name)]); + return o.literalArr([o.literal(BindingType.ElementClass), o.literal(inputAst.name)]); case PropertyBindingType.Style: return o.literalArr([ - o.literal(viewEngine.BindingType.ElementStyle), o.literal(inputAst.name), - o.literal(inputAst.unit) + o.literal(BindingType.ElementStyle), o.literal(inputAst.name), o.literal(inputAst.unit) ]); } }); @@ -947,13 +943,11 @@ function mergeAttributeValue(attrName: string, attrValue1: string, attrValue2: s function callCheckStmt(nodeIndex: number, exprs: o.Expression[]): o.Expression { if (exprs.length > 10) { - return CHECK_VAR.callFn([ - VIEW_VAR, o.literal(nodeIndex), o.literal(viewEngine.ArgumentType.Dynamic), - o.literalArr(exprs) - ]); + return CHECK_VAR.callFn( + [VIEW_VAR, o.literal(nodeIndex), o.literal(ArgumentType.Dynamic), o.literalArr(exprs)]); } else { return CHECK_VAR.callFn( - [VIEW_VAR, o.literal(nodeIndex), o.literal(viewEngine.ArgumentType.Inline), ...exprs]); + [VIEW_VAR, o.literal(nodeIndex), o.literal(ArgumentType.Inline), ...exprs]); } } diff --git a/modules/@angular/compiler/tsconfig-build.json b/modules/@angular/compiler/tsconfig-build.json index 580dff9d18..85e3335637 100644 --- a/modules/@angular/compiler/tsconfig-build.json +++ b/modules/@angular/compiler/tsconfig-build.json @@ -15,7 +15,7 @@ "rootDir": ".", "sourceMap": true, "inlineSources": true, - "target": "es5", + "target": "es2015", "skipLibCheck": true, "lib": ["es2015", "dom"], // don't auto-discover @types/node, it results in a /// { kf[prop] = _computeStyle(this.element, prop); }); + // tslint:disable-next-line + missingStyleProps.forEach(function(prop) { + kf[prop] = _computeStyle(self.element, prop); + }); } } } diff --git a/modules/@angular/platform-browser/tsconfig-build.json b/modules/@angular/platform-browser/tsconfig-build.json index 1a8a874f95..465fc79cef 100644 --- a/modules/@angular/platform-browser/tsconfig-build.json +++ b/modules/@angular/platform-browser/tsconfig-build.json @@ -14,19 +14,21 @@ "rootDir": ".", "sourceMap": true, "inlineSources": true, - "target": "es5", + "target": "es2015", "skipLibCheck": true, "lib": ["es2015", "dom"], // don't auto-discover @types/node, it results in a ///=6.22.2 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.23.0.tgz", + "dev": true, + "dependencies": { + "async-each": { + "version": "1.0.1", + "from": "async-each@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "1.6.1", + "from": "chokidar@>=1.6.1 <2.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz", + "dev": true, + "optional": true + }, + "glob": { + "version": "7.1.1", + "from": "glob@>=7.0.0 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "dev": true + }, + "lodash": { + "version": "4.17.4", + "from": "lodash@>=4.2.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "dev": true + } + } + }, "babel-code-frame": { "version": "6.20.0", "from": "babel-code-frame@>=6.20.0 <7.0.0", @@ -404,12 +438,604 @@ } } }, + "babel-core": { + "version": "6.23.1", + "from": "https://registry.npmjs.org/babel-core/-/babel-core-6.23.1.tgz", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.23.1.tgz", + "dev": true, + "dependencies": { + "babel-code-frame": { + "version": "6.22.0", + "from": "babel-code-frame@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "from": "esutils@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "dev": true + }, + "js-tokens": { + "version": "3.0.1", + "from": "js-tokens@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", + "dev": true + }, + "json5": { + "version": "0.5.1", + "from": "json5@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "dev": true + }, + "lodash": { + "version": "4.17.4", + "from": "lodash@^4.2.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.23.0", + "from": "babel-generator@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.23.0.tgz", + "dev": true, + "dependencies": { + "lodash": { + "version": "4.17.4", + "from": "lodash@^4.2.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "dev": true + } + } + }, + "babel-helper-call-delegate": { + "version": "6.22.0", + "from": "babel-helper-call-delegate@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz", + "dev": true + }, + "babel-helper-define-map": { + "version": "6.23.0", + "from": "babel-helper-define-map@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz", + "dev": true, + "dependencies": { + "lodash": { + "version": "4.17.4", + "from": "lodash@^4.2.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "dev": true + } + } + }, + "babel-helper-evaluate-path": { + "version": "0.0.3", + "from": "babel-helper-evaluate-path@>=0.0.3 <0.0.4", + "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.0.3.tgz", + "dev": true + }, + "babel-helper-flip-expressions": { + "version": "0.0.2", + "from": "babel-helper-flip-expressions@>=0.0.2 <0.0.3", + "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.0.2.tgz", + "dev": true + }, + "babel-helper-function-name": { + "version": "6.23.0", + "from": "babel-helper-function-name@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz", + "dev": true + }, + "babel-helper-get-function-arity": { + "version": "6.22.0", + "from": "babel-helper-get-function-arity@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz", + "dev": true + }, + "babel-helper-hoist-variables": { + "version": "6.22.0", + "from": "babel-helper-hoist-variables@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz", + "dev": true + }, + "babel-helper-is-nodes-equiv": { + "version": "0.0.1", + "from": "babel-helper-is-nodes-equiv@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", + "dev": true + }, + "babel-helper-is-void-0": { + "version": "0.0.1", + "from": "babel-helper-is-void-0@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.0.1.tgz", + "dev": true + }, + "babel-helper-mark-eval-scopes": { + "version": "0.0.2", + "from": "babel-helper-mark-eval-scopes@>=0.0.2 <0.0.3", + "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.0.2.tgz", + "dev": true + }, + "babel-helper-optimise-call-expression": { + "version": "6.23.0", + "from": "babel-helper-optimise-call-expression@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz", + "dev": true + }, + "babel-helper-regex": { + "version": "6.22.0", + "from": "babel-helper-regex@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz", + "dev": true, + "dependencies": { + "lodash": { + "version": "4.17.4", + "from": "lodash@^4.2.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "dev": true + } + } + }, + "babel-helper-remove-or-void": { + "version": "0.0.1", + "from": "babel-helper-remove-or-void@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.0.1.tgz", + "dev": true + }, + "babel-helper-replace-supers": { + "version": "6.23.0", + "from": "babel-helper-replace-supers@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz", + "dev": true + }, + "babel-helper-to-multiple-sequence-expressions": { + "version": "0.0.3", + "from": "babel-helper-to-multiple-sequence-expressions@>=0.0.3 <0.0.4", + "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.0.3.tgz", + "dev": true + }, + "babel-helpers": { + "version": "6.23.0", + "from": "babel-helpers@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.23.0.tgz", + "dev": true + }, + "babel-loader": { + "version": "6.3.0", + "from": "babel-loader@latest", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.3.0.tgz", + "dev": true, + "dependencies": { + "json5": { + "version": "0.5.1", + "from": "json5@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "dev": true + }, + "loader-utils": { + "version": "0.2.16", + "from": "loader-utils@>=0.2.16 <0.3.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.16.tgz", + "dev": true + } + } + }, + "babel-messages": { + "version": "6.23.0", + "from": "babel-messages@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "dev": true + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "from": "babel-plugin-check-es2015-constants@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "dev": true + }, + "babel-plugin-minify-constant-folding": { + "version": "0.0.4", + "from": "babel-plugin-minify-constant-folding@>=0.0.4 <0.0.5", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.0.4.tgz", + "dev": true, + "dependencies": { + "jsesc": { + "version": "2.4.0", + "from": "jsesc@>=2.4.0 <3.0.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.4.0.tgz", + "dev": true + } + } + }, + "babel-plugin-minify-dead-code-elimination": { + "version": "0.1.3", + "from": "babel-plugin-minify-dead-code-elimination@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.1.3.tgz", + "dev": true + }, + "babel-plugin-minify-flip-comparisons": { + "version": "0.0.2", + "from": "babel-plugin-minify-flip-comparisons@>=0.0.2 <0.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.0.2.tgz", + "dev": true + }, + "babel-plugin-minify-guarded-expressions": { + "version": "0.0.4", + "from": "babel-plugin-minify-guarded-expressions@>=0.0.4 <0.0.5", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.0.4.tgz", + "dev": true + }, + "babel-plugin-minify-infinity": { + "version": "0.0.3", + "from": "babel-plugin-minify-infinity@>=0.0.3 <0.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.0.3.tgz", + "dev": true + }, + "babel-plugin-minify-mangle-names": { + "version": "0.0.7", + "from": "babel-plugin-minify-mangle-names@>=0.0.7 <0.0.8", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.0.7.tgz", + "dev": true + }, + "babel-plugin-minify-numeric-literals": { + "version": "0.0.1", + "from": "babel-plugin-minify-numeric-literals@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.0.1.tgz", + "dev": true + }, + "babel-plugin-minify-replace": { + "version": "0.0.1", + "from": "babel-plugin-minify-replace@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.0.1.tgz", + "dev": true + }, + "babel-plugin-minify-simplify": { + "version": "0.0.7", + "from": "babel-plugin-minify-simplify@>=0.0.7 <0.0.8", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.0.7.tgz", + "dev": true + }, + "babel-plugin-minify-type-constructors": { + "version": "0.0.3", + "from": "babel-plugin-minify-type-constructors@>=0.0.3 <0.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.0.3.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-arrow-functions@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-block-scoped-functions@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.23.0", + "from": "babel-plugin-transform-es2015-block-scoping@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz", + "dev": true, + "dependencies": { + "lodash": { + "version": "4.17.4", + "from": "lodash@^4.2.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "dev": true + } + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.23.0", + "from": "babel-plugin-transform-es2015-classes@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-computed-properties@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "from": "babel-plugin-transform-es2015-destructuring@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-duplicate-keys@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "from": "babel-plugin-transform-es2015-for-of@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-function-name@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-literals@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-modules-amd@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.23.0", + "from": "babel-plugin-transform-es2015-modules-commonjs@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.23.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.23.0", + "from": "babel-plugin-transform-es2015-modules-systemjs@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.23.0", + "from": "babel-plugin-transform-es2015-modules-umd@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.23.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-object-super@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.23.0", + "from": "babel-plugin-transform-es2015-parameters@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-shorthand-properties@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-spread@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-sticky-regex@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-template-literals@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "from": "babel-plugin-transform-es2015-typeof-symbol@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "dev": true + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.22.0", + "from": "babel-plugin-transform-es2015-unicode-regex@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-inline-consecutive-adds": { + "version": "0.0.2", + "from": "babel-plugin-transform-inline-consecutive-adds@>=0.0.2 <0.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.0.2.tgz", + "dev": true + }, + "babel-plugin-transform-member-expression-literals": { + "version": "6.8.1", + "from": "babel-plugin-transform-member-expression-literals@>=6.8.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.8.1.tgz", + "dev": true + }, + "babel-plugin-transform-merge-sibling-variables": { + "version": "6.8.2", + "from": "babel-plugin-transform-merge-sibling-variables@>=6.8.2 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.8.2.tgz", + "dev": true + }, + "babel-plugin-transform-minify-booleans": { + "version": "6.8.0", + "from": "babel-plugin-transform-minify-booleans@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.8.0.tgz", + "dev": true + }, + "babel-plugin-transform-property-literals": { + "version": "6.8.1", + "from": "babel-plugin-transform-property-literals@>=6.8.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.8.1.tgz", + "dev": true + }, + "babel-plugin-transform-regenerator": { + "version": "6.22.0", + "from": "babel-plugin-transform-regenerator@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-regexp-constructors": { + "version": "0.0.5", + "from": "babel-plugin-transform-regexp-constructors@>=0.0.5 <0.0.6", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.0.5.tgz", + "dev": true + }, + "babel-plugin-transform-remove-console": { + "version": "6.8.0", + "from": "babel-plugin-transform-remove-console@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.8.0.tgz", + "dev": true + }, + "babel-plugin-transform-remove-debugger": { + "version": "6.8.0", + "from": "babel-plugin-transform-remove-debugger@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.8.0.tgz", + "dev": true + }, + "babel-plugin-transform-remove-undefined": { + "version": "0.0.5", + "from": "babel-plugin-transform-remove-undefined@>=0.0.5 <0.0.6", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.0.5.tgz", + "dev": true + }, + "babel-plugin-transform-simplify-comparison-operators": { + "version": "6.8.1", + "from": "babel-plugin-transform-simplify-comparison-operators@>=6.8.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.8.1.tgz", + "dev": true + }, + "babel-plugin-transform-strict-mode": { + "version": "6.22.0", + "from": "babel-plugin-transform-strict-mode@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz", + "dev": true + }, + "babel-plugin-transform-undefined-to-void": { + "version": "6.8.0", + "from": "babel-plugin-transform-undefined-to-void@>=6.8.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.8.0.tgz", + "dev": true + }, + "babel-polyfill": { + "version": "6.23.0", + "from": "babel-polyfill@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", + "dev": true + }, + "babel-preset-babili": { + "version": "0.0.11", + "from": "babel-preset-babili@0.0.11", + "resolved": "https://registry.npmjs.org/babel-preset-babili/-/babel-preset-babili-0.0.11.tgz", + "dev": true + }, + "babel-preset-es2015": { + "version": "6.22.0", + "from": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz", + "dev": true + }, + "babel-register": { + "version": "6.23.0", + "from": "babel-register@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.23.0.tgz", + "dev": true, + "dependencies": { + "lodash": { + "version": "4.17.4", + "from": "lodash@^4.2.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "dev": true + } + } + }, "babel-runtime": { "version": "6.22.0", "from": "babel-runtime@>=6.0.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.22.0.tgz", "dev": true }, + "babel-template": { + "version": "6.23.0", + "from": "babel-template@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz", + "dev": true, + "dependencies": { + "lodash": { + "version": "4.17.4", + "from": "lodash@^4.2.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.23.1", + "from": "babel-traverse@>=6.23.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz", + "dev": true, + "dependencies": { + "babel-code-frame": { + "version": "6.22.0", + "from": "babel-code-frame@^6.22.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "from": "esutils@^2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "dev": true + }, + "js-tokens": { + "version": "3.0.1", + "from": "js-tokens@^3.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", + "dev": true + }, + "lodash": { + "version": "4.17.4", + "from": "lodash@^4.2.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "dev": true + } + } + }, + "babel-types": { + "version": "6.23.0", + "from": "babel-types@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz", + "dev": true, + "dependencies": { + "esutils": { + "version": "2.0.2", + "from": "esutils@^2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "dev": true + }, + "lodash": { + "version": "4.17.4", + "from": "lodash@^4.2.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "dev": true + } + } + }, + "babili": { + "version": "0.0.11", + "from": "babili@0.0.11", + "resolved": "https://registry.npmjs.org/babili/-/babili-0.0.11.tgz", + "dev": true + }, + "babylon": { + "version": "6.15.0", + "from": "babylon@>=6.11.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.15.0.tgz", + "dev": true + }, "backo2": { "version": "1.0.2", "from": "backo2@1.0.2", @@ -2935,6 +3561,12 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "dev": true }, + "commondir": { + "version": "1.0.1", + "from": "commondir@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "dev": true + }, "compare-func": { "version": "1.3.2", "from": "compare-func@>=1.3.1 <2.0.0", @@ -3249,6 +3881,12 @@ } } }, + "convert-source-map": { + "version": "1.4.0", + "from": "convert-source-map@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.4.0.tgz", + "dev": true + }, "cookie": { "version": "0.1.3", "from": "cookie@0.1.3", @@ -3611,6 +4249,12 @@ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "dev": true }, + "emojis-list": { + "version": "2.1.0", + "from": "emojis-list@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "dev": true + }, "end-of-stream": { "version": "1.1.0", "from": "end-of-stream@>=1.0.0 <2.0.0", @@ -4053,6 +4697,12 @@ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz", "dev": true }, + "find-cache-dir": { + "version": "0.1.1", + "from": "find-cache-dir@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "dev": true + }, "find-index": { "version": "0.1.1", "from": "find-index@>=0.1.1 <0.2.0", @@ -4193,6 +4843,12 @@ "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-0.3.1.tgz", "dev": true }, + "fs-readdir-recursive": { + "version": "1.0.0", + "from": "fs-readdir-recursive@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz", + "dev": true + }, "fs.realpath": { "version": "1.0.0", "from": "fs.realpath@>=1.0.0 <2.0.0", @@ -5137,6 +5793,12 @@ "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", "dev": true }, + "globals": { + "version": "9.15.0", + "from": "globals@>=9.0.0 <10.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.15.0.tgz", + "dev": true + }, "globby": { "version": "5.0.0", "from": "globby@>=5.0.0 <6.0.0", @@ -5609,6 +6271,12 @@ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", "dev": true }, + "home-or-tmp": { + "version": "2.0.0", + "from": "home-or-tmp@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "dev": true + }, "hosted-git-info": { "version": "2.1.4", "from": "hosted-git-info@>=2.1.4 <3.0.0", @@ -6147,6 +6815,12 @@ "dev": true, "optional": true }, + "jsesc": { + "version": "1.3.0", + "from": "jsesc@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "dev": true + }, "json-schema": { "version": "0.2.3", "from": "json-schema@0.2.3", @@ -6483,6 +7157,12 @@ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", "dev": true }, + "lodash.isplainobject": { + "version": "4.0.6", + "from": "lodash.isplainobject@>=4.0.6 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "dev": true + }, "lodash.keys": { "version": "3.1.2", "from": "lodash.keys@>=3.0.0 <4.0.0", @@ -6495,6 +7175,12 @@ "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", "dev": true }, + "lodash.some": { + "version": "4.6.0", + "from": "lodash.some@>=4.6.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "dev": true + }, "lodash.template": { "version": "3.6.2", "from": "lodash.template@>=3.6.1 <4.0.0", @@ -7388,6 +8074,26 @@ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz", "dev": true }, + "output-file-sync": { + "version": "1.1.2", + "from": "output-file-sync@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", + "dev": true, + "dependencies": { + "graceful-fs": { + "version": "4.1.11", + "from": "graceful-fs@>=4.1.4 <5.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "from": "object-assign@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "dev": true + } + } + }, "over": { "version": "0.0.5", "from": "over@>=0.0.5 <1.0.0", @@ -7558,6 +8264,12 @@ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz", "dev": true }, + "pkg-dir": { + "version": "1.0.0", + "from": "pkg-dir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "dev": true + }, "pkginfo": { "version": "0.3.1", "from": "pkginfo@>=0.3.0 <0.4.0", @@ -7582,6 +8294,12 @@ "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.1.tgz", "dev": true }, + "private": { + "version": "0.1.7", + "from": "private@>=0.1.6 <0.2.0", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", + "dev": true + }, "process": { "version": "0.11.9", "from": "process@>=0.11.0 <0.12.0", @@ -7881,18 +8599,36 @@ "from": "reflect-metadata@0.1.3", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.3.tgz" }, + "regenerate": { + "version": "1.3.2", + "from": "regenerate@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz", + "dev": true + }, "regenerator-runtime": { "version": "0.10.1", "from": "regenerator-runtime@>=0.10.0 <0.11.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz", "dev": true }, + "regenerator-transform": { + "version": "0.9.8", + "from": "regenerator-transform@0.9.8", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.8.tgz", + "dev": true + }, "regex-cache": { "version": "0.4.2", "from": "regex-cache@>=0.4.2 <0.5.0", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.2.tgz", "dev": true }, + "regexpu-core": { + "version": "2.0.0", + "from": "regexpu-core@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "dev": true + }, "registry-auth-token": { "version": "3.1.0", "from": "registry-auth-token@>=3.0.1 <4.0.0", @@ -7905,6 +8641,26 @@ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", "dev": true }, + "regjsgen": { + "version": "0.2.0", + "from": "regjsgen@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "from": "regjsparser@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "dev": true, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "from": "jsesc@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "dev": true + } + } + }, "repeat-element": { "version": "1.1.2", "from": "repeat-element@>=1.1.2 <2.0.0", @@ -8197,6 +8953,20 @@ } } }, + "rollup-plugin-babel": { + "version": "2.7.1", + "from": "rollup-plugin-babel@>=2.7.1 <3.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-2.7.1.tgz", + "dev": true, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "from": "object-assign@^4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "dev": true + } + } + }, "rollup-plugin-commonjs": { "version": "5.0.5", "from": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-5.0.5.tgz", @@ -8454,6 +9224,12 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-2.1.2.tgz", "dev": true }, + "slash": { + "version": "1.0.0", + "from": "slash@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "dev": true + }, "slice-stream": { "version": "1.0.0", "from": "slice-stream@>=1.0.0 <2.0.0", @@ -8963,6 +9739,12 @@ "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", "dev": true }, + "to-fast-properties": { + "version": "1.0.2", + "from": "to-fast-properties@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", + "dev": true + }, "tough-cookie": { "version": "2.2.1", "from": "tough-cookie@>=2.2.0 <2.3.0", @@ -8987,6 +9769,12 @@ "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", "dev": true }, + "trim-right": { + "version": "1.0.1", + "from": "trim-right@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "dev": true + }, "ts-api-guardian": { "version": "0.2.1", "from": "ts-api-guardian@0.2.1", diff --git a/package.json b/package.json index 570843c697..bd304fd959 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,12 @@ "angular": "^1.5.0", "angular-animate": "^1.5.0", "angular-mocks": "^1.5.0", + "babel-cli": "^6.22.2", + "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.23.1.tgz", + "babel-loader": "^6.3.0", + "babel-preset-babili": "0.0.11", + "babel-preset-es2015": "^6.22.0", + "babili": "0.0.11", "base64-js": "^1.2.0", "bower": "^1.3.12", "browserstacktunnel-wrapper": "^1.4.2", @@ -80,6 +86,7 @@ "rewire": "^2.3.3", "rho": "^0.3.0", "rollup": "^0.26.3", + "rollup-plugin-babel": "^2.7.1", "rollup-plugin-commonjs": "^5.0.5", "selenium-webdriver": "^2.53.3", "semver": "^5.1.0", diff --git a/scripts/ci-lite/offline_compiler_test.sh b/scripts/ci-lite/offline_compiler_test.sh index 1076926ad7..a2564d5f4e 100755 --- a/scripts/ci-lite/offline_compiler_test.sh +++ b/scripts/ci-lite/offline_compiler_test.sh @@ -16,6 +16,9 @@ PKGS=( jasmine@2.4.1 webpack@2.1.0-beta.21 @angular2-material/{core,button}@2.0.0-alpha.8-1 + babel-core@6.23.1 + babel-loader@6.3.0 + babel-preset-es2015@6.22.0 ) TMPDIR=${TMPDIR:-.} diff --git a/tools/@angular/tsc-wrapped/src/bundler.ts b/tools/@angular/tsc-wrapped/src/bundler.ts index 7fbdb12085..6e7def2b9c 100644 --- a/tools/@angular/tsc-wrapped/src/bundler.ts +++ b/tools/@angular/tsc-wrapped/src/bundler.ts @@ -79,6 +79,7 @@ export class MetadataBundler { private metadataCache = new Map(); private exports = new Map(); private rootModule: string; + private exported: Set; constructor( private root: string, private importAs: string|undefined, private host: MetadataBundlerHost) { @@ -191,16 +192,18 @@ export class MetadataBundler { */ private canonicalizeSymbols(exportedSymbols: Symbol[]) { const symbols = Array.from(this.symbolMap.values()); - const exported = new Set(exportedSymbols); - symbols.forEach(symbol => { - const rootExport = getRootExport(symbol); - const declaration = getSymbolDeclaration(symbol); - const isPrivate = !exported.has(rootExport); - const canonicalSymbol = isPrivate ? declaration : rootExport; - symbol.isPrivate = isPrivate; - symbol.declaration = declaration; - symbol.canonicalSymbol = canonicalSymbol; - }); + this.exported = new Set(exportedSymbols);; + symbols.forEach(this.canonicalizeSymbol, this); + } + + private canonicalizeSymbol(symbol: Symbol) { + const rootExport = getRootExport(symbol); + const declaration = getSymbolDeclaration(symbol); + const isPrivate = !this.exported.has(rootExport); + const canonicalSymbol = isPrivate ? declaration : rootExport; + symbol.isPrivate = isPrivate; + symbol.declaration = declaration; + symbol.canonicalSymbol = canonicalSymbol; } private getEntries(exportedSymbols: Symbol[]): BundleEntries { @@ -487,14 +490,11 @@ export class MetadataBundler { } private canonicalSymbolOf(module: string, name: string): Symbol { + // Ensure the module has been seen. + this.exportAll(module); const symbol = this.symbolOf(module, name); if (!symbol.canonicalSymbol) { - // If we get a symbol after canonical symbols have been assigned it must be a private - // symbol so treat it as one. - symbol.declaration = symbol; - symbol.canonicalSymbol = symbol; - symbol.isPrivate = true; - this.convertSymbol(symbol); + this.canonicalizeSymbol(symbol); } return symbol; } diff --git a/tools/@angular/tsc-wrapped/src/main.ts b/tools/@angular/tsc-wrapped/src/main.ts index 4fc0280ba5..61930934f1 100644 --- a/tools/@angular/tsc-wrapped/src/main.ts +++ b/tools/@angular/tsc-wrapped/src/main.ts @@ -29,7 +29,7 @@ export type CodegenExtension = export function main( project: string | VinylFile, cliOptions: CliOptions, codegen?: CodegenExtension, - options?: ts.CompilerOptions): Promise { + options?: ts.CompilerOptions, skipImportRename?: boolean): Promise { try { let projectDir = project; // project is vinyl like file object @@ -118,7 +118,7 @@ export function main( const tsickleCompilerHostOptions: tsickle.Options = { googmodule: false, untyped: true, - convertIndexImportShorthand: + convertIndexImportShorthand: !skipImportRename && ngOptions.target === ts.ScriptTarget.ES2015, // This covers ES6 too }; @@ -173,13 +173,19 @@ export function main( // CLI entry point if (require.main === module) { - const args = process.argv.slice(2); + let args = process.argv.slice(2); + let idx = args.indexOf('--skipImportRename'); + let skipImportRename = false; + if (idx !== -1) { + args.splice(idx, 1); + skipImportRename = true; + } let {options, fileNames, errors} = (ts as any).parseCommandLine(args); check(errors); const project = options.project || '.'; // TODO(alexeagle): command line should be TSC-compatible, remove "CliOptions" here const cliOptions = new CliOptions(require('minimist')(args)); - main(project, cliOptions, null, options) + main(project, cliOptions, null, options, skipImportRename) .then((exitCode: any) => process.exit(exitCode)) .catch((e: any) => { console.error(e.stack); diff --git a/tools/gulp-tasks/public-api.js b/tools/gulp-tasks/public-api.js index 63c0748c78..5aaa3b2111 100644 --- a/tools/gulp-tasks/public-api.js +++ b/tools/gulp-tasks/public-api.js @@ -1,21 +1,26 @@ const entrypoints = [ - 'dist/packages-dist/core/index.d.ts', 'dist/packages-dist/core/testing/index.d.ts', - 'dist/packages-dist/common/index.d.ts', 'dist/packages-dist/common/testing/index.d.ts', + 'dist/packages-dist/core/typings/core.d.ts', + 'dist/packages-dist/core/typings/testing/testing.d.ts', + 'dist/packages-dist/common/typings/common.d.ts', + 'dist/packages-dist/common/typings/testing/testing.d.ts', // The API surface of the compiler is currently unstable - all of the important APIs are exposed // via @angular/core, @angular/platform-browser or @angular/platform-browser-dynamic instead. //'dist/packages-dist/compiler/index.d.ts', //'dist/packages-dist/compiler/testing.d.ts', - 'dist/packages-dist/upgrade/index.d.ts', 'dist/packages-dist/upgrade/static.d.ts', - 'dist/packages-dist/platform-browser/index.d.ts', - 'dist/packages-dist/platform-browser/testing/index.d.ts', - 'dist/packages-dist/platform-browser-dynamic/index.d.ts', - 'dist/packages-dist/platform-browser-dynamic/testing/index.d.ts', - 'dist/packages-dist/platform-webworker/index.d.ts', - 'dist/packages-dist/platform-webworker-dynamic/index.d.ts', - 'dist/packages-dist/platform-server/index.d.ts', - 'dist/packages-dist/platform-server/testing/index.d.ts', 'dist/packages-dist/http/index.d.ts', - 'dist/packages-dist/http/testing/index.d.ts', 'dist/packages-dist/forms/index.d.ts', - 'dist/packages-dist/router/index.d.ts', 'dist/packages-dist/animation/index.d.ts' + 'dist/packages-dist/upgrade/typings/upgrade.d.ts', + 'dist/packages-dist/upgrade/typings/static/static.d.ts', + 'dist/packages-dist/platform-browser/typings/platform-browser.d.ts', + 'dist/packages-dist/platform-browser/typings/testing/testing.d.ts', + 'dist/packages-dist/platform-browser-dynamic/typings/platform-browser-dynamic.d.ts', + 'dist/packages-dist/platform-browser-dynamic/typings/testing/testing.d.ts', + 'dist/packages-dist/platform-webworker/typings/platform-webworker.d.ts', + 'dist/packages-dist/platform-webworker-dynamic/typings/platform-webworker-dynamic.d.ts', + 'dist/packages-dist/platform-server/typings/platform-server.d.ts', + 'dist/packages-dist/platform-server/typings/testing/testing.d.ts', + 'dist/packages-dist/http/typings/http.d.ts', + 'dist/packages-dist/http/typings/testing/testing.d.ts', + 'dist/packages-dist/forms/typings/forms.d.ts', 'dist/packages-dist/router/typings/router.d.ts', + 'dist/packages-dist/animation/typings/animation.d.ts' ]; const publicApiDir = 'tools/public_api_guard'; diff --git a/tools/public_api_guard/animation/index.d.ts b/tools/public_api_guard/animation/typings/animation.d.ts similarity index 100% rename from tools/public_api_guard/animation/index.d.ts rename to tools/public_api_guard/animation/typings/animation.d.ts diff --git a/tools/public_api_guard/common/index.d.ts b/tools/public_api_guard/common/typings/common.d.ts similarity index 100% rename from tools/public_api_guard/common/index.d.ts rename to tools/public_api_guard/common/typings/common.d.ts diff --git a/tools/public_api_guard/common/testing/index.d.ts b/tools/public_api_guard/common/typings/testing/testing.d.ts similarity index 100% rename from tools/public_api_guard/common/testing/index.d.ts rename to tools/public_api_guard/common/typings/testing/testing.d.ts diff --git a/tools/public_api_guard/compiler/index.d.ts b/tools/public_api_guard/compiler/typings/compiler.d.ts similarity index 100% rename from tools/public_api_guard/compiler/index.d.ts rename to tools/public_api_guard/compiler/typings/compiler.d.ts diff --git a/tools/public_api_guard/compiler/testing/index.d.ts b/tools/public_api_guard/compiler/typings/testing/testing.d.ts similarity index 100% rename from tools/public_api_guard/compiler/testing/index.d.ts rename to tools/public_api_guard/compiler/typings/testing/testing.d.ts diff --git a/tools/public_api_guard/core/index.d.ts b/tools/public_api_guard/core/typings/core.d.ts similarity index 100% rename from tools/public_api_guard/core/index.d.ts rename to tools/public_api_guard/core/typings/core.d.ts diff --git a/tools/public_api_guard/core/testing/index.d.ts b/tools/public_api_guard/core/typings/testing/testing.d.ts similarity index 100% rename from tools/public_api_guard/core/testing/index.d.ts rename to tools/public_api_guard/core/typings/testing/testing.d.ts diff --git a/tools/public_api_guard/forms/index.d.ts b/tools/public_api_guard/forms/typings/forms.d.ts similarity index 100% rename from tools/public_api_guard/forms/index.d.ts rename to tools/public_api_guard/forms/typings/forms.d.ts diff --git a/tools/public_api_guard/http/index.d.ts b/tools/public_api_guard/http/typings/http.d.ts similarity index 100% rename from tools/public_api_guard/http/index.d.ts rename to tools/public_api_guard/http/typings/http.d.ts diff --git a/tools/public_api_guard/http/testing/index.d.ts b/tools/public_api_guard/http/typings/testing/testing.d.ts similarity index 100% rename from tools/public_api_guard/http/testing/index.d.ts rename to tools/public_api_guard/http/typings/testing/testing.d.ts diff --git a/tools/public_api_guard/platform-browser-dynamic/index.d.ts b/tools/public_api_guard/platform-browser-dynamic/typings/platform-browser-dynamic.d.ts similarity index 100% rename from tools/public_api_guard/platform-browser-dynamic/index.d.ts rename to tools/public_api_guard/platform-browser-dynamic/typings/platform-browser-dynamic.d.ts diff --git a/tools/public_api_guard/platform-browser-dynamic/testing/index.d.ts b/tools/public_api_guard/platform-browser-dynamic/typings/testing/testing.d.ts similarity index 100% rename from tools/public_api_guard/platform-browser-dynamic/testing/index.d.ts rename to tools/public_api_guard/platform-browser-dynamic/typings/testing/testing.d.ts diff --git a/tools/public_api_guard/platform-browser/index.d.ts b/tools/public_api_guard/platform-browser/typings/platform-browser.d.ts similarity index 100% rename from tools/public_api_guard/platform-browser/index.d.ts rename to tools/public_api_guard/platform-browser/typings/platform-browser.d.ts diff --git a/tools/public_api_guard/platform-browser/testing/index.d.ts b/tools/public_api_guard/platform-browser/typings/testing/testing.d.ts similarity index 100% rename from tools/public_api_guard/platform-browser/testing/index.d.ts rename to tools/public_api_guard/platform-browser/typings/testing/testing.d.ts diff --git a/tools/public_api_guard/platform-server/index.d.ts b/tools/public_api_guard/platform-server/typings/platform-server.d.ts similarity index 100% rename from tools/public_api_guard/platform-server/index.d.ts rename to tools/public_api_guard/platform-server/typings/platform-server.d.ts diff --git a/tools/public_api_guard/platform-server/testing/index.d.ts b/tools/public_api_guard/platform-server/typings/testing/testing.d.ts similarity index 100% rename from tools/public_api_guard/platform-server/testing/index.d.ts rename to tools/public_api_guard/platform-server/typings/testing/testing.d.ts diff --git a/tools/public_api_guard/platform-webworker-dynamic/index.d.ts b/tools/public_api_guard/platform-webworker-dynamic/typings/platform-webworker-dynamic.d.ts similarity index 100% rename from tools/public_api_guard/platform-webworker-dynamic/index.d.ts rename to tools/public_api_guard/platform-webworker-dynamic/typings/platform-webworker-dynamic.d.ts diff --git a/tools/public_api_guard/platform-webworker/index.d.ts b/tools/public_api_guard/platform-webworker/typings/platform-webworker.d.ts similarity index 100% rename from tools/public_api_guard/platform-webworker/index.d.ts rename to tools/public_api_guard/platform-webworker/typings/platform-webworker.d.ts diff --git a/tools/public_api_guard/router/index.d.ts b/tools/public_api_guard/router/typings/router.d.ts similarity index 100% rename from tools/public_api_guard/router/index.d.ts rename to tools/public_api_guard/router/typings/router.d.ts diff --git a/tools/public_api_guard/upgrade/static.d.ts b/tools/public_api_guard/upgrade/typings/static/static.d.ts similarity index 100% rename from tools/public_api_guard/upgrade/static.d.ts rename to tools/public_api_guard/upgrade/typings/static/static.d.ts diff --git a/tools/public_api_guard/upgrade/index.d.ts b/tools/public_api_guard/upgrade/typings/upgrade.d.ts similarity index 100% rename from tools/public_api_guard/upgrade/index.d.ts rename to tools/public_api_guard/upgrade/typings/upgrade.d.ts