diff --git a/build.js b/build.js index ae60721c..96e94ad7 100644 --- a/build.js +++ b/build.js @@ -5,13 +5,16 @@ const chalk = require('chalk'); const PACKAGE = `angular-l10n`; const NPM_DIR = `dist`; -const MODULES_DIR = `${NPM_DIR}/modules`; +const ESM2015_DIR = `${NPM_DIR}/esm2015`; +const ESM5_DIR = `${NPM_DIR}/esm5`; const BUNDLES_DIR = `${NPM_DIR}/bundles`; +const OUT_DIR_ESM5 = `${NPM_DIR}/package/esm5`; shell.echo(`Start building...`); shell.rm(`-Rf`, `${NPM_DIR}/*`); -shell.mkdir(`-p`, `./${MODULES_DIR}`); +shell.mkdir(`-p`, `./${ESM2015_DIR}`); +shell.mkdir(`-p`, `./${ESM5_DIR}`); shell.mkdir(`-p`, `./${BUNDLES_DIR}`); /* TSLint with Codelyzer */ @@ -21,7 +24,7 @@ shell.echo(`Start TSLint`); shell.exec(`tslint -c tslint.json -t stylish src/**/*.ts`); shell.echo(chalk.green(`TSLint completed`)); -/* AoT compilation: ES2015 sources */ +/* AoT compilation */ shell.echo(`Start AoT compilation`); if (shell.exec(`ngc -p tsconfig-build.json`).code !== 0) { shell.echo(chalk.red(`Error: AoT compilation failed`)); @@ -29,34 +32,37 @@ if (shell.exec(`ngc -p tsconfig-build.json`).code !== 0) { } shell.echo(chalk.green(`AoT compilation completed`)); -/* Creates bundles: ESM/ES5 and UMD bundles */ +/* BUNDLING PACKAGE */ shell.echo(`Start bundling`); shell.echo(`Rollup package`); -shell.exec(`rollup -f es -i ${NPM_DIR}/${PACKAGE}.js -o ${MODULES_DIR}/${PACKAGE}.js --sourcemap`, { silent: true }); -shell.exec(`node scripts/map-sources -f ${MODULES_DIR}/${PACKAGE}.js`); +if (shell.exec(`rollup -c rollup.es.config.js -i ${NPM_DIR}/${PACKAGE}.js -o ${ESM2015_DIR}/${PACKAGE}.js`).code !== 0) { + shell.echo(chalk.red(`Error: Rollup package failed`)); + shell.exit(1); +} -shell.echo(`Downleveling ES2015 to ESM/ES5`); -shell.cp(`${MODULES_DIR}/${PACKAGE}.js`, `${MODULES_DIR}/${PACKAGE}.es5.ts`); -shell.exec(`tsc ${MODULES_DIR}/${PACKAGE}.es5.ts --target es5 --module es2015 --noLib --sourceMap`, { silent: true }); -shell.exec(`node scripts/map-sources -f ${MODULES_DIR}/${PACKAGE}.es5.js`); -shell.rm(`-f`, `${MODULES_DIR}/${PACKAGE}.es5.ts`); +shell.echo(`Produce ESM5 version`); +shell.exec(`ngc -p tsconfig-build.json --target es5 -d false --outDir ${OUT_DIR_ESM5} --importHelpers true --sourceMap`); +if (shell.exec(`rollup -c rollup.es.config.js -i ${OUT_DIR_ESM5}/${PACKAGE}.js -o ${ESM5_DIR}/${PACKAGE}.js`).code !== 0) { + shell.echo(chalk.red(`Error: ESM5 version failed`)); + shell.exit(1); +} shell.echo(`Run Rollup conversion on package`); -if (shell.exec(`rollup -c rollup.config.js --sourcemap`).code !== 0) { +if (shell.exec(`rollup -c rollup.config.js -i ${ESM5_DIR}/${PACKAGE}.js -o ${BUNDLES_DIR}/${PACKAGE}.umd.js`).code !== 0) { shell.echo(chalk.red(`Error: Rollup conversion failed`)); shell.exit(1); } -shell.exec(`node scripts/map-sources -f ${BUNDLES_DIR}/${PACKAGE}.umd.js`); shell.echo(`Minifying`); shell.cd(`${BUNDLES_DIR}`); -shell.exec(`uglifyjs -c warnings=false --screw-ie8 --comments -o ${PACKAGE}.umd.min.js --source-map ${PACKAGE}.umd.min.js.map --source-map-include-sources ${PACKAGE}.umd.js`); -shell.exec(`node ../../scripts/map-sources -f ${PACKAGE}.umd.min.js`); +shell.exec(`uglifyjs ${PACKAGE}.umd.js -c --comments -o ${PACKAGE}.umd.min.js --source-map "filename='${PACKAGE}.umd.min.js.map', includeSources"`); shell.cd(`..`); shell.cd(`..`); shell.echo(chalk.green(`Bundling completed`)); +shell.rm(`-Rf`, `${NPM_DIR}/package`); +shell.rm(`-Rf`, `${NPM_DIR}/node_modules`); shell.rm(`-Rf`, `${NPM_DIR}/*.js`); shell.rm(`-Rf`, `${NPM_DIR}/*.js.map`); shell.rm(`-Rf`, `${NPM_DIR}/src/**/*.js`); diff --git a/docs/index.md b/docs/index.md index 9fbf4153..571e6e35 100644 --- a/docs/index.md +++ b/docs/index.md @@ -14,7 +14,7 @@ It allows, in addition to translation, to localize numbers and dates of your app --- -> Library version: 4.0.0-beta.4 - [Changelog](https://github.com/robisim74/angular-l10n/releases) +> Library version: 4.0.0-rc.0 - [Changelog](https://github.com/robisim74/angular-l10n/releases)
diff --git a/license-banner.txt b/license-banner.txt new file mode 100644 index 00000000..8b065185 --- /dev/null +++ b/license-banner.txt @@ -0,0 +1,6 @@ +/** + * @license Angular l10n + * Copyright Roberto Simonetti + * MIT license + * https://github.com/robisim74/angular-l10n + */ diff --git a/package-lock.json b/package-lock.json index 32cf11dd..787dba1d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,113 +1,105 @@ { "name": "angular-l10n", - "version": "4.0.0-beta.4", + "version": "4.0.0-rc.0", "lockfileVersion": 1, "requires": true, "dependencies": { "@angular/animations": { - "version": "5.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.0.0-beta.3.tgz", - "integrity": "sha1-dHCTd7lNOKevBKQGo7aMntJh2pw=", + "version": "5.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.0.0-rc.1.tgz", + "integrity": "sha1-fuN06Vw7iHnBfG5r+G0hu11N2V8=", "dev": true, "requires": { "tslib": "1.7.1" } }, "@angular/common": { - "version": "5.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.0.0-beta.3.tgz", - "integrity": "sha1-dQtnkrb4+nwDQ3VMramxxD6zhng=", + "version": "5.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.0.0-rc.1.tgz", + "integrity": "sha1-RnExTyQa+YD7H/XgEEP/eFCeVYM=", "dev": true, "requires": { "tslib": "1.7.1" } }, "@angular/compiler": { - "version": "5.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.0.0-beta.3.tgz", - "integrity": "sha1-cMWaiyUOuZBjNLgcRi/qtFQlVhY=", + "version": "5.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.0.0-rc.1.tgz", + "integrity": "sha1-YnftXcLN57pbgvfBlYaU6EbSneg=", "dev": true, "requires": { "tslib": "1.7.1" } }, "@angular/compiler-cli": { - "version": "5.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.0.0-beta.3.tgz", - "integrity": "sha1-6nVK2AGhmx8AHaqwIxZnLf0e5kE=", + "version": "5.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.0.0-rc.1.tgz", + "integrity": "sha1-W472jDSJ6iXSvH8WTAO8CwUxzms=", "dev": true, "requires": { - "@angular/tsc-wrapped": "5.0.0-beta.3", + "chokidar": "1.7.0", "minimist": "1.2.0", - "reflect-metadata": "0.1.10" + "reflect-metadata": "0.1.10", + "tsickle": "0.24.1" } }, "@angular/core": { - "version": "5.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.0.0-beta.3.tgz", - "integrity": "sha1-R2zbF4qOaTZvSPYKsZVQ/06SP3s=", + "version": "5.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.0.0-rc.1.tgz", + "integrity": "sha1-sHvvhsbVef7zBomgOz+LcRGc9Jw=", "dev": true, "requires": { "tslib": "1.7.1" } }, "@angular/forms": { - "version": "5.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.0.0-beta.3.tgz", - "integrity": "sha1-20uJYgSIOCPle9gXCdioebqqu3g=", + "version": "5.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.0.0-rc.1.tgz", + "integrity": "sha1-FH7kSOTV/6iWgnxsBpIcQ6taVuw=", "dev": true, "requires": { "tslib": "1.7.1" } }, "@angular/platform-browser": { - "version": "5.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.0.0-beta.3.tgz", - "integrity": "sha1-ZMFCAA+jpLvJl1MZ/r9WryeYqPw=", + "version": "5.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.0.0-rc.1.tgz", + "integrity": "sha1-v/OsKp9ZcjjEkNAvajlDpMSfogo=", "dev": true, "requires": { "tslib": "1.7.1" } }, "@angular/platform-browser-dynamic": { - "version": "5.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.0.0-beta.3.tgz", - "integrity": "sha1-hJzJOHWo5nDBhgUJh9L76//o+b0=", + "version": "5.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.0.0-rc.1.tgz", + "integrity": "sha1-55FK2t4lcKm7fMMGnwt4NCAmtBM=", "dev": true, "requires": { "tslib": "1.7.1" } }, "@angular/platform-server": { - "version": "5.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-5.0.0-beta.3.tgz", - "integrity": "sha1-lJIgfHio8b9/OP1Io0/OsQ01XhA=", + "version": "5.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-5.0.0-rc.1.tgz", + "integrity": "sha1-YXJL472q5CIkz9pEQZMrq9p6yWU=", "dev": true, "requires": { - "parse5": "3.0.2", + "domino": "1.0.29", "tslib": "1.7.1", "xhr2": "0.1.4" } }, - "@angular/tsc-wrapped": { - "version": "5.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@angular/tsc-wrapped/-/tsc-wrapped-5.0.0-beta.3.tgz", - "integrity": "sha1-1xxgewLrb+cJG5CO8uyXGA7FJhg=", - "dev": true, - "requires": { - "tsickle": "0.21.6" - } - }, "@types/jasmine": { - "version": "2.5.54", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.5.54.tgz", - "integrity": "sha512-B9YofFbUljs19g5gBKUYeLIulsh31U5AK70F41BImQRHEZQGm4GcN922UvnYwkduMqbC/NH+9fruWa/zrqvHIg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.6.0.tgz", + "integrity": "sha512-1ZZdFvYA5zARDXPj5+VF0bwDZWH/o0QQWJVDc5srdC/DngcCZXskR33eR/4PielGvBjLQpQOd6KiQbmtqVkeZA==", "dev": true }, "@types/node": { - "version": "8.0.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.24.tgz", - "integrity": "sha512-c3Npme+2JGqxW8+B+aXdN5SPIlCf1C8WxQC6Ea39rO/ASPosnMkWVR16mDJtRE+2dr2xwOQ7DiLxb+wO/TWuPg==", + "version": "8.0.32", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.32.tgz", + "integrity": "sha512-n1zzgeQehndikZc/8N4rGSZc99cO6Tb3OInKzvWYniJsT/jet3m57buaBFa5cMeVNFosN4PKZ2LM1y16CFD7Rg==", "dev": true }, "accepts": { @@ -280,6 +272,12 @@ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", "dev": true }, + "atob": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", + "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", + "dev": true + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -376,9 +374,9 @@ "dev": true }, "bluebird": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", - "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", "dev": true }, "bn.js": { @@ -530,12 +528,6 @@ "isarray": "1.0.0" } }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true - }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -651,9 +643,9 @@ "dev": true }, "codelyzer": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-3.1.2.tgz", - "integrity": "sha1-n/HwQfubXuXb60W6hm368EmDrwQ=", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-3.2.1.tgz", + "integrity": "sha512-mIRlNReJyyYaI1uG4rPz+fnZ9BddxLBEWTEmLh0eS8t25Pp3nPeDJt4cwmjKL6JncLuIAP9oUrKu/XjlOj4D+w==", "dev": true, "requires": { "app-root-path": "2.0.1", @@ -708,6 +700,12 @@ "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", "dev": true }, + "commenting": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/commenting/-/commenting-1.0.4.tgz", + "integrity": "sha1-0UCvMmNPy97k1xOWk0wfzawUflA=", + "dev": true + }, "component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", @@ -772,9 +770,9 @@ "dev": true }, "core-js": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz", - "integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", "dev": true }, "core-util-is": { @@ -979,6 +977,12 @@ "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", "dev": true }, + "domino": { + "version": "1.0.29", + "resolved": "https://registry.npmjs.org/domino/-/domino-1.0.29.tgz", + "integrity": "sha1-3oqh9vmOPFU4/remH6acHqu6zgY=", + "dev": true + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -1171,12 +1175,6 @@ "event-emitter": "0.3.5" } }, - "es6-promise": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", - "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", - "dev": true - }, "es6-set": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", @@ -1252,6 +1250,12 @@ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", "dev": true }, + "estree-walker": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz", + "integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=", + "dev": true + }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", @@ -1802,9 +1806,9 @@ } }, "jasmine-core": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.7.0.tgz", - "integrity": "sha1-UP+MT5LY71wLLBuEbdJj7YUVIJE=", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", "dev": true }, "js-tokens": { @@ -1859,18 +1863,18 @@ "dev": true }, "karma": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/karma/-/karma-1.7.0.tgz", - "integrity": "sha1-b3oaQGRG+i4YfslTmGmPTO5HYmk=", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-1.7.1.tgz", + "integrity": "sha512-k5pBjHDhmkdaUccnC7gE3mBzZjcxyxYsYVaqiL2G5AqlfLyBO5nw2VdNK+O16cveEPd/gIOWULH7gkiYYwVNHg==", "dev": true, "requires": { - "bluebird": "3.5.0", + "bluebird": "3.5.1", "body-parser": "1.18.2", "chokidar": "1.7.0", "colors": "1.1.2", "combine-lists": "1.0.1", "connect": "3.6.5", - "core-js": "2.5.0", + "core-js": "2.5.1", "di": "0.0.1", "dom-serialize": "2.2.1", "expand-braces": "0.1.2", @@ -2075,6 +2079,15 @@ "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=", "dev": true }, + "magic-string": { + "version": "0.22.4", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.4.tgz", + "integrity": "sha512-kxBL06p6iO2qPBHsqGK2b3cRwiRGpnmSuVWNhwHcMX7qJOUr1HvricYP1LZOCdkQBUp0jiWg2d6WJwR3vYgByw==", + "dev": true, + "requires": { + "vlq": "0.2.3" + } + }, "md5.js": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", @@ -2224,6 +2237,12 @@ } } }, + "moment": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz", + "integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -2465,23 +2484,6 @@ "error-ex": "1.3.1" } }, - "parse5": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz", - "integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA=", - "dev": true, - "requires": { - "@types/node": "6.0.88" - }, - "dependencies": { - "@types/node": { - "version": "6.0.88", - "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.88.tgz", - "integrity": "sha512-bYDPZTX0/s1aihdjLuAgogUAT5M+TpoWChEMea2p0yOcfn5bu3k6cJb9cp6nw268XeSNIGGr+4+/8V5K6BGzLQ==", - "dev": true - } - } - }, "parsejson": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", @@ -2863,6 +2865,12 @@ "path-parse": "1.0.5" } }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -2892,11 +2900,32 @@ } }, "rollup": { - "version": "0.48.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.48.2.tgz", - "integrity": "sha512-5IOVEA87/OWQlojaAPN0WStLAhlaY7GS/5p+pA/IHReXjtc+d7IJYgRD3Y/U2LVXoD7f1SBc3ymYd4g3M/zRzQ==", + "version": "0.50.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.50.0.tgz", + "integrity": "sha512-7RqCBQ9iwsOBPkjYgoIaeUij606mSkDMExP0NT7QDI3bqkHYQHrQ83uoNIXwPcQm/vP2VbsUz3kiyZZ1qPlLTQ==", "dev": true }, + "rollup-plugin-license": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-license/-/rollup-plugin-license-0.5.0.tgz", + "integrity": "sha1-XnBzdftY0pV1JToNKOl+QYgmgvc=", + "dev": true, + "requires": { + "commenting": "1.0.4", + "lodash": "4.17.4", + "magic-string": "0.22.4", + "mkdirp": "0.5.1", + "moment": "2.18.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + } + } + }, "rollup-plugin-node-resolve": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz", @@ -2909,6 +2938,26 @@ "resolve": "1.4.0" } }, + "rollup-plugin-sourcemaps": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.4.2.tgz", + "integrity": "sha1-YhJaqUCHqt97g+9N+vYptHMTXoc=", + "dev": true, + "requires": { + "rollup-pluginutils": "2.0.1", + "source-map-resolve": "0.5.0" + } + }, + "rollup-pluginutils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz", + "integrity": "sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=", + "dev": true, + "requires": { + "estree-walker": "0.3.1", + "micromatch": "2.3.11" + } + }, "rxjs": { "version": "5.4.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.4.3.tgz", @@ -2924,18 +2973,6 @@ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, - "sander": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", - "integrity": "sha1-dB4kXiMfB8r7b98PEzrfohalAq0=", - "dev": true, - "requires": { - "es6-promise": "3.3.1", - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", @@ -3153,18 +3190,6 @@ } } }, - "sorcery": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz", - "integrity": "sha1-iukK19fLBfxZ8asMY3hF1cFaUrc=", - "dev": true, - "requires": { - "buffer-crc32": "0.2.13", - "minimist": "1.2.0", - "sander": "0.5.1", - "sourcemap-codec": "1.3.1" - } - }, "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", @@ -3178,9 +3203,9 @@ "dev": true }, "source-map-loader": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.1.tgz", - "integrity": "sha1-SBJr6SML1H+tBeRqjDwuPS2r5Qc=", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.2.tgz", + "integrity": "sha512-C3iYM6IqMT6jVzo6HTDmeZz9QP0ott9LtOeDJAPDQlHG5uJx+whP3c39TCMc1/FqP0feo546wCgt89JCn6DBMg==", "dev": true, "requires": { "async": "0.9.2", @@ -3199,6 +3224,18 @@ } } }, + "source-map-resolve": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.0.tgz", + "integrity": "sha1-/K0LZLcK+ydpnkJZUMtevNQQvCA=", + "dev": true, + "requires": { + "atob": "2.0.3", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, "source-map-support": { "version": "0.4.18", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", @@ -3208,14 +3245,11 @@ "source-map": "0.5.7" } }, - "sourcemap-codec": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.3.1.tgz", - "integrity": "sha1-mtb5vb1pGTEBbjCTnbyGhnMyMUY=", - "dev": true, - "requires": { - "vlq": "0.2.2" - } + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true }, "spdx-correct": { "version": "1.0.2", @@ -3400,9 +3434,9 @@ "dev": true }, "ts-loader": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-2.3.3.tgz", - "integrity": "sha512-BX/BZF2BWr4wKrzw+sI3eam04cocz46HX/ERt2YZZYTgyOdUPlRnuVoukKaFIGyTE3vo5uYYGTCvKuKiUJUffg==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-2.3.7.tgz", + "integrity": "sha512-8t3bu2FcEkXb+D4L+Cn8qiK2E2C6Ms4/GQChvz6IMbVurcFHLXrhW4EMtfaol1a1ASQACZGDUGit4NHnX9g7hQ==", "dev": true, "requires": { "chalk": "2.1.0", @@ -3425,9 +3459,9 @@ } }, "tsickle": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.21.6.tgz", - "integrity": "sha1-U7Abl5xcE/2xOvs/uVgXflmRWI0=", + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.24.1.tgz", + "integrity": "sha512-XloFQZhVhgjpQsi3u2ORNRJvuID5sflOg6HfP093IqAbhE1+fIUXznULpdDwHgG4p+v8w78KdHruQtkWUKx5AQ==", "dev": true, "requires": { "minimist": "1.2.0", @@ -3439,13 +3473,12 @@ "tslib": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.7.1.tgz", - "integrity": "sha1-vIAEFkaRkjp5/oN4u+s9ogF1OOw=", - "dev": true + "integrity": "sha1-vIAEFkaRkjp5/oN4u+s9ogF1OOw=" }, "tslint": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.6.0.tgz", - "integrity": "sha1-CIqmxgJmIzOGULKQCCirPt9Z9s8=", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.7.0.tgz", + "integrity": "sha1-wl4NDJL6EgHCvDDoROCOaCtPNVI=", "dev": true, "requires": { "babel-code-frame": "6.26.0", @@ -3457,13 +3490,13 @@ "resolve": "1.4.0", "semver": "5.4.1", "tslib": "1.7.1", - "tsutils": "2.11.0" + "tsutils": "2.12.0" } }, "tsutils": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.11.0.tgz", - "integrity": "sha1-n7ecPISgbRNxLpQWuSIhfWz+Duo=", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.12.0.tgz", + "integrity": "sha1-yJKoTI8vjeE/jvMsLFw4tFfM6sY=", "dev": true, "requires": { "tslib": "1.7.1" @@ -3492,28 +3525,13 @@ "dev": true }, "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.3.tgz", + "integrity": "sha512-5ZUOgufCHjN2mBBLfz63UtWTP6va2sSzBpNCM+/iqI6RnPzEhANmB0EKiKBYdQbc3v7KeomXJ2DJx0Xq9gvUvA==", "dev": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } + "commander": "2.11.0", + "source-map": "0.5.7" } }, "uglify-to-browserify": { @@ -3532,6 +3550,19 @@ "source-map": "0.5.7", "uglify-js": "2.8.29", "webpack-sources": "1.0.1" + }, + "dependencies": { + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + } + } } }, "ultron": { @@ -3546,6 +3577,12 @@ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", @@ -3614,9 +3651,9 @@ } }, "vlq": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.2.tgz", - "integrity": "sha1-4xbVJXtAuGu0PLjV/qXX9U1rDKE=", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", "dev": true }, "vm-browserify": { @@ -3663,9 +3700,9 @@ } }, "webpack": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.5.5.tgz", - "integrity": "sha512-qeUx4nIbeLL53qqNTs3kObPBMkUVDrOjEfp/hTvMlx21qL2MsGNr8/tXCoX/lS12dLl9qtZaXv2qfBEctPScDg==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.6.0.tgz", + "integrity": "sha512-OsHT3D0W0KmPPh60tC7asNnOmST6bKTiR90UyEdT9QYoaJ4OYN4Gg7WK1k3VxHK07ZoiYWPsKvlS/gAjwL/vRA==", "dev": true, "requires": { "acorn": "5.1.2", @@ -3701,6 +3738,36 @@ "lodash": "4.17.4" } }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, "loader-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", @@ -3717,6 +3784,27 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", "dev": true + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } } } }, @@ -3846,56 +3934,15 @@ "dev": true }, "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - } + "window-size": "0.1.0" } }, "yargs-parser": { @@ -3922,9 +3969,9 @@ "dev": true }, "zone.js": { - "version": "0.8.16", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.16.tgz", - "integrity": "sha1-rDG2xBj4jA+Ritas2KQCrKkxOrs=", + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.18.tgz", + "integrity": "sha512-knKOBQM0oea3/x9pdyDuDi7RhxDlJhOIkeixXSiTKWLgs4LpK37iBc+1HaHwzlciHUKT172CymJFKo8Xgh+44Q==", "dev": true } } diff --git a/package.json b/package.json index 79692366..44536ef5 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "angular-l10n", - "version": "4.0.0-beta.4", + "version": "4.0.0-rc.0", "description": "An Angular library to translate messages, dates and numbers", "main": "./bundles/angular-l10n.umd.js", - "module": "./modules/angular-l10n.es5.js", - "es2015": "./modules/angular-l10n.js", + "module": "./esm5/angular-l10n.js", + "es2015": "./esm2015/angular-l10n.js", "scripts": { "build": "node build.js", "test": "karma start", @@ -37,46 +37,49 @@ "validation" ], "license": "MIT", + "dependencies": { + "tslib": "^1.7.1" + }, "peerDependencies": { - "@angular/common": ">= 5.0.0-beta.3", - "@angular/core": ">= 5.0.0-beta.3", - "@angular/forms": ">= 5.0.0-beta.3" + "@angular/common": ">= 5.0.0-rc.1", + "@angular/core": ">= 5.0.0-rc.1", + "@angular/forms": ">= 5.0.0-rc.1" }, "devDependencies": { - "@angular/animations": "5.0.0-beta.3", - "@angular/common": "5.0.0-beta.3", - "@angular/compiler": "5.0.0-beta.3", - "@angular/compiler-cli": "5.0.0-beta.3", - "@angular/core": "5.0.0-beta.3", - "@angular/forms": "5.0.0-beta.3", - "@angular/platform-browser": "5.0.0-beta.3", - "@angular/platform-browser-dynamic": "5.0.0-beta.3", - "@angular/platform-server": "5.0.0-beta.3", - "@types/jasmine": "2.5.54", - "@types/node": "8.0.24", + "@angular/animations": "5.0.0-rc.1", + "@angular/common": "5.0.0-rc.1", + "@angular/compiler": "5.0.0-rc.1", + "@angular/compiler-cli": "5.0.0-rc.1", + "@angular/core": "5.0.0-rc.1", + "@angular/forms": "5.0.0-rc.1", + "@angular/platform-browser": "5.0.0-rc.1", + "@angular/platform-browser-dynamic": "5.0.0-rc.1", + "@angular/platform-server": "5.0.0-rc.1", + "@types/jasmine": "2.6.0", + "@types/node": "8.0.32", "chalk": "2.1.0", - "codelyzer": "3.1.2", - "core-js": "2.5.0", - "jasmine-core": "2.7.0", - "karma": "1.7.0", + "codelyzer": "3.2.1", + "core-js": "2.5.1", + "jasmine-core": "2.8.0", + "karma": "1.7.1", "karma-chrome-launcher": "2.2.0", "karma-jasmine": "1.1.0", "karma-sourcemap-loader": "0.3.7", "karma-spec-reporter": "0.0.31", "karma-webpack": "2.0.4", "reflect-metadata": "0.1.10", - "rollup": "0.48.2", + "rollup": "0.50.0", "rollup-plugin-node-resolve": "3.0.0", + "rollup-plugin-sourcemaps": "0.4.2", + "rollup-plugin-license": "0.5.0", "rxjs": "5.4.3", "shelljs": "0.7.8", - "sorcery": "0.10.0", - "source-map-loader": "0.2.1", - "ts-loader": "2.3.3", - "tslint": "5.6.0", + "source-map-loader": "0.2.2", + "ts-loader": "2.3.7", + "tslint": "5.7.0", "typescript": "2.4.2", - "uglify-js": "2.8.29", - "webpack": "3.5.5", - "yargs": "8.0.2", - "zone.js": "0.8.16" + "uglify-js": "3.1.3", + "webpack": "3.6.0", + "zone.js": "0.8.18" } } diff --git a/rollup.config.js b/rollup.config.js index 143130a6..30ab8b0f 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,4 +1,5 @@ import resolve from 'rollup-plugin-node-resolve'; +import sourcemaps from 'rollup-plugin-sourcemaps'; const globals = { '@angular/core': 'ng.core', @@ -17,15 +18,14 @@ const globals = { }; export default { - input: './dist/modules/angular-l10n.es5.js', external: Object.keys(globals), - plugins: [resolve()], + plugins: [resolve(), sourcemaps()], onwarn: () => { return }, output: { - file: './dist/bundles/angular-l10n.umd.js', format: 'umd', name: 'ng.l10n', globals: globals, + sourcemap: true, exports: 'named' } } diff --git a/rollup.es.config.js b/rollup.es.config.js new file mode 100644 index 00000000..7dcaf560 --- /dev/null +++ b/rollup.es.config.js @@ -0,0 +1,23 @@ +import sourcemaps from 'rollup-plugin-sourcemaps'; +import license from 'rollup-plugin-license'; + +const path = require('path'); + +export default { + output: { + format: 'es', + sourcemap: true + }, + plugins: [ + sourcemaps(), + license({ + sourceMap: true, + + banner: { + file: path.join(__dirname, 'license-banner.txt'), + encoding: 'utf-8', + } + }) + ], + onwarn: () => { return } +} diff --git a/scripts/map-sources.js b/scripts/map-sources.js deleted file mode 100644 index 3ce6bfba..00000000 --- a/scripts/map-sources.js +++ /dev/null @@ -1,9 +0,0 @@ -const sorcery = require('sorcery'); - -const argv = require('yargs') - .alias('f', 'file') - .argv; - -sorcery.load(argv.file).then(function (chain) { - chain.write(); -}); diff --git a/tsconfig-build.json b/tsconfig-build.json index 0990fa4e..abd7746e 100644 --- a/tsconfig-build.json +++ b/tsconfig-build.json @@ -1,21 +1,28 @@ { "compilerOptions": { + "rootDir": ".", "baseUrl": ".", + "paths": { + "@angular/*": [ + "node_modules/@angular/*" + ] + }, + "outDir": "dist", "declaration": true, - "experimentalDecorators": true, "strict": true, - "module": "es2015", "moduleResolution": "node", - "outDir": "dist", - "rootDir": ".", - "sourceMap": true, - "inlineSources": true, + "module": "es2015", "target": "es2015", - "skipLibCheck": true, "lib": [ "es2015", "dom" - ] + ], + "skipLibCheck": true, + "types": [], + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "sourceMap": true, + "inlineSources": true }, "files": [ "public_api.ts",