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