diff --git a/packages/ionic-angular/BREAKING.md b/packages/BREAKING.md similarity index 100% rename from packages/ionic-angular/BREAKING.md rename to packages/BREAKING.md diff --git a/packages/ionic-angular/package.json b/packages/angular/package.json similarity index 97% rename from packages/ionic-angular/package.json rename to packages/angular/package.json index 7821276438..40c5bc5f2e 100644 --- a/packages/ionic-angular/package.json +++ b/packages/angular/package.json @@ -1,8 +1,8 @@ { "private": true, - "name": "ionic2", - "version": "3.3.0", - "description": "A powerful framework for building mobile and progressive web apps with JavaScript and Angular", + "name": "@ionic/angular", + "version": "4.0.0", + "description": "A powerful framework for building mobile and progressive web apps with TypeScript and Angular", "keywords": [ "ionic", "framework", diff --git a/packages/ionic-angular/tsconfig.json b/packages/angular/tsconfig.json similarity index 100% rename from packages/ionic-angular/tsconfig.json rename to packages/angular/tsconfig.json diff --git a/packages/ionic-angular/tslint.json b/packages/angular/tslint.json similarity index 100% rename from packages/ionic-angular/tslint.json rename to packages/angular/tslint.json diff --git a/packages/core/package-lock.json b/packages/core/package-lock.json index 3b6a0aa33e..ba0fc83e0d 100644 --- a/packages/core/package-lock.json +++ b/packages/core/package-lock.json @@ -4,6 +4,15 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@ionic/discover": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@ionic/discover/-/discover-0.3.3.tgz", + "integrity": "sha512-xciPTCEMYHv6sT7e4NwrAGkVQ8prj1NK9xO2z7/MoB+/HhREDsYDreNjU0lZF6G4X/91HcNNPC439D2WkAGd1w==", + "dev": true, + "requires": { + "netmask": "1.0.6" + } + }, "@stencil/core": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/@stencil/core/-/core-0.0.6.tgz", @@ -22,11 +31,12 @@ } }, "@stencil/dev-server": { - "version": "0.0.17", - "resolved": "https://registry.npmjs.org/@stencil/dev-server/-/dev-server-0.0.17.tgz", - "integrity": "sha512-dVkD4ypNqw7f6GTk217z0v3E4tMA32t5+Ahu/6yBUcO2uMPsA/IUrYVTHaU5FFSyD0txrZ6hAj/1/4scmTUErQ==", + "version": "0.0.18-0", + "resolved": "https://registry.npmjs.org/@stencil/dev-server/-/dev-server-0.0.18-0.tgz", + "integrity": "sha512-NO61g5gj3dd+103nDr7MIzK0r4GzE370+dZAflWIxUPQPUXlCLetWVZ1L/BlGlNzmjYFaMdiVRdie3NLx2ewjQ==", "dev": true, "requires": { + "@ionic/discover": "0.3.3", "chokidar": "1.7.0", "ecstatic": "2.2.1", "opn": "5.1.0", @@ -1084,6 +1094,12 @@ "event-emitter": "0.3.5" } }, + "es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", + "dev": true + }, "es6-set": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", @@ -2879,9 +2895,9 @@ } }, "http-parser-js": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.8.tgz", - "integrity": "sha512-jmHp99g6/fLx0pRNJqzsQgjsclCHAY7NhIeA3/U+bsGNvgbvUCQFQY9m5AYpqpAxY/2VcikfbKpjQozSTiz0jA==", + "version": "0.4.9", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz", + "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=", "dev": true }, "http-signature": { @@ -2907,6 +2923,12 @@ "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", "dev": true }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -4471,6 +4493,47 @@ "verror": "1.10.0" } }, + "jszip": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.4.tgz", + "integrity": "sha512-z6w8iYIxZ/fcgul0j/OerkYnkomH8BZigvzbxVmr2h5HkZUrPtk2kjYtLkqR9wwQxEP6ecKNoKLsbhd18jfnGA==", + "dev": true, + "requires": { + "core-js": "2.3.0", + "es6-promise": "3.0.2", + "lie": "3.1.1", + "pako": "1.0.6", + "readable-stream": "2.0.6" + }, + "dependencies": { + "core-js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", + "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -4518,6 +4581,15 @@ "type-check": "0.3.2" } }, + "lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "dev": true, + "requires": { + "immediate": "3.0.6" + } + }, "livereload-js": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz", @@ -4818,6 +4890,12 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "netmask": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", + "dev": true + }, "node-gyp": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", @@ -5096,6 +5174,12 @@ "p-limit": "1.1.0" } }, + "pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "dev": true + }, "parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", @@ -5737,6 +5821,18 @@ } } }, + "selenium-webdriver": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", + "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", + "dev": true, + "requires": { + "jszip": "3.1.4", + "rimraf": "2.6.2", + "tmp": "0.0.30", + "xml2js": "0.4.19" + } + }, "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", @@ -6105,6 +6201,15 @@ "qs": "6.5.1" } }, + "tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + }, "tmpl": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", @@ -6406,7 +6511,7 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": "0.4.8", + "http-parser-js": "0.4.9", "websocket-extensions": "0.1.2" } }, @@ -6545,6 +6650,22 @@ "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", "dev": true }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "dev": true, + "requires": { + "sax": "1.2.4", + "xmlbuilder": "9.0.4" + } + }, + "xmlbuilder": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.4.tgz", + "integrity": "sha1-UZy0ymhtAFqEINNJbz8MruzKWA8=", + "dev": true + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", diff --git a/packages/core/package.json b/packages/core/package.json index 0aaa993e28..4949ed1310 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -11,18 +11,20 @@ ], "devDependencies": { "@stencil/core": "^0.0.6", - "@stencil/dev-server": "latest", + "@stencil/dev-server": "0.0.18-0", "@stencil/utils": "latest", "@types/jest": "^21.1.0", "ionicons": "^4.0.0-6", "jest": "^21.1.0", "sass-lint": "^1.11.1", + "selenium-webdriver": "^3.6.0", "tslint": "^5.7.0", "tslint-ionic-rules": "0.0.11" }, "scripts": { "build": "stencil build", "dev": "sd concurrent \"stencil build --dev --watch\" \"stencil-dev-server\"", + "e2e": "node ./scripts/e2e-test-runner.js", "test": "jest --no-cache", "test.watch": "jest --watch --no-cache", "clean": "rm -rf dist", diff --git a/packages/core/scripts/e2e-test-runner.js b/packages/core/scripts/e2e-test-runner.js new file mode 100644 index 0000000000..187ce2477b --- /dev/null +++ b/packages/core/scripts/e2e-test-runner.js @@ -0,0 +1,18 @@ +const path = require('path'); +const server = require('@stencil/dev-server/dist'); // TODO: fix after stencil-dev-server PR #16 is merged + +const webdriver = require('selenium-webdriver'); +const driver = new webdriver.Builder().forBrowser('chrome').build(); + +cmdArgs = [ + '--config', path.join(__dirname, '../stencil.config.js'), + '--no-open' +]; + +(async () => { + const devServer = await server.run(cmdArgs); + await driver.navigate().to('http://localhost:3333/src/components/button/test/basic.html'); + driver.close(); + devServer.close(); +})(); + diff --git a/packages/core/src/components/button/test/button.e2e-spec.ts b/packages/core/src/components/button/test/button.e2e-spec.ts new file mode 100644 index 0000000000..f675fe835a --- /dev/null +++ b/packages/core/src/components/button/test/button.e2e-spec.ts @@ -0,0 +1,5 @@ +describe('buttons', () => { + it('loads', () => { + + }); +});