From 407089fb4f93afc79ff77b4926e0285dff3ad335 Mon Sep 17 00:00:00 2001 From: Eric Clemmons Date: Wed, 15 Jan 2020 14:02:04 -0800 Subject: [PATCH] =?UTF-8?q?feat(@aws-amplify/ui-components):=20Framework?= =?UTF-8?q?=20Bindings=20for=20Authen=E2=80=A6=20(#4676)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * yarn add @stencil/{angular,react}-output-target + updated @stencil/core * Add reactOutputTarget to amplify-ui-react * Add template from https://github.com/ionic-team/stencil-ds-react-template * Update component definitions via stencil build * Remove --dev flag to trigger reactOutputTarget * Remove unused variable * stencil build * Initial build of @aws-amplify/ui-react * Remove @stencil/state-tunnel https://github.com/ionic-team/stencil-ds-plugins/issues/10 * Fix resolution of @aws-amplify/ui-components/loader * Working build of @aws-amplify/ui-react * Fix amplify-ui-react main/module paths * Add AmplifyAuthenticator stories * Don't build e2e/spec/stories * Initial @aws-amplify/ui-angular build * fix: Rename folders to match package name so yarn workspaces works https://github.com/yarnpkg/yarn/issues/5225#issuecomment-490462853 * Update yarn.lock with @stencil/state-tunnel removed * Revert 0e5398b1a46ce82245424a7d551c1ed67d473cbe * Add @aws-amplify/ui-angular template https://github.com/ionic-team/stencil-ds-plugins-demo/blob/master/packages/component-library-angular/package.json * yarn workspace can't resolve "latest" if the package isn't published * Remove unused ValueAccessorConfig * Add @aws-amplify/ui-vue package * Revert "Add AmplifyAuthenticator stories" This reverts commit 08cbb08cdf96c348e0e2793368906e4383b91a75. * Clean up @aws-amplify/ui-react package.json * Clean up @aws-amplify/ui-vue package.json * Clean up @aws-amplify/ui-angular package.json * Update yarn.lock * Remove & ignore auto-generated files * Suppress auto-generated typings in diffs * Suppress auto-generated readmes in diffs * Remove parts of CRA-generated .gitignore * Remove yarn.lock from PR diffs * Update yarn.lock to match @stencil/core * Update build with updated @stencil/core * Add publicConfig to @aws-amplify/ui-* packages, per #4706 --- .gitattributes | 2 + packages/amplify-ui-angular/.gitignore | 1 + packages/amplify-ui-angular/package.json | 48 +++++++ .../scripts/rollup.config.js | 24 ++++ .../scripts/rollup.config.legacy.js | 9 ++ .../amplify-ui-angular/src/amplify-module.ts | 16 +++ packages/amplify-ui-angular/src/index.ts | 5 + packages/amplify-ui-angular/tsconfig.json | 36 +++++ .../amplify-ui-angular/tsconfig.legacy.json | 8 ++ packages/amplify-ui-components/.gitattributes | 1 + .../amplify-ui-components/loader/package.json | 11 ++ packages/amplify-ui-components/package.json | 7 +- .../amplify-ui-components/src/components.d.ts | 8 +- .../amplify-authenticator.tsx | 12 +- .../amplify-authenticator/readme.md | 2 - .../amplify-confirm-sign-in.tsx | 2 +- .../amplify-confirm-sign-in/readme.md | 2 +- .../src/components/amplify-examples/readme.md | 1 - .../amplify-icon/amplify-icon.spec.ts | 13 +- .../amplify-sign-in/amplify-sign-in.spec.ts | 1 - .../amplify-sign-in/amplify-sign-in.tsx | 2 +- .../src/components/amplify-sign-in/readme.md | 2 +- .../src/data/auth-state.tsx | 24 ---- .../amplify-ui-components/stencil.config.ts | 12 ++ packages/amplify-ui-react/.gitignore | 3 + packages/amplify-ui-react/package.json | 47 +++++++ packages/amplify-ui-react/src/index.ts | 1 + packages/amplify-ui-react/tsconfig.json | 26 ++++ packages/amplify-ui-vue/package.json | 28 ++++ packages/amplify-ui-vue/src/index.ts | 15 ++ packages/amplify-ui-vue/tsconfig.json | 26 ++++ yarn.lock | 133 ++++++++++++++++-- 32 files changed, 459 insertions(+), 69 deletions(-) create mode 100644 .gitattributes create mode 100644 packages/amplify-ui-angular/.gitignore create mode 100644 packages/amplify-ui-angular/package.json create mode 100755 packages/amplify-ui-angular/scripts/rollup.config.js create mode 100755 packages/amplify-ui-angular/scripts/rollup.config.legacy.js create mode 100644 packages/amplify-ui-angular/src/amplify-module.ts create mode 100644 packages/amplify-ui-angular/src/index.ts create mode 100644 packages/amplify-ui-angular/tsconfig.json create mode 100755 packages/amplify-ui-angular/tsconfig.legacy.json create mode 100644 packages/amplify-ui-components/.gitattributes create mode 100644 packages/amplify-ui-components/loader/package.json delete mode 100644 packages/amplify-ui-components/src/data/auth-state.tsx create mode 100755 packages/amplify-ui-react/.gitignore create mode 100755 packages/amplify-ui-react/package.json create mode 100755 packages/amplify-ui-react/src/index.ts create mode 100755 packages/amplify-ui-react/tsconfig.json create mode 100644 packages/amplify-ui-vue/package.json create mode 100644 packages/amplify-ui-vue/src/index.ts create mode 100755 packages/amplify-ui-vue/tsconfig.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000000..d16237dfb79 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +**/*.d.ts linguist-generated=true +yarn.lock linguist-generated=true diff --git a/packages/amplify-ui-angular/.gitignore b/packages/amplify-ui-angular/.gitignore new file mode 100644 index 00000000000..f33eb4eeb77 --- /dev/null +++ b/packages/amplify-ui-angular/.gitignore @@ -0,0 +1 @@ +src/directives/proxies.ts diff --git a/packages/amplify-ui-angular/package.json b/packages/amplify-ui-angular/package.json new file mode 100644 index 00000000000..a85468c2150 --- /dev/null +++ b/packages/amplify-ui-angular/package.json @@ -0,0 +1,48 @@ +{ + "name": "@aws-amplify/ui-angular", + "version": "0.0.1", + "description": "Angular specific wrapper for @aws-amplify/ui-components", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/aws-amplify/amplify-js.git" + }, + "scripts": { + "build": "npm run build.ng", + "build.link": "npm run build && node scripts/link-copy.js", + "build.fesm": "rollup --config ./scripts/rollup.config.js", + "build.ng": "npm run build.es2015 && npm run build.es5", + "build.es2015": "ngc -p tsconfig.json && rollup --config ./scripts/rollup.config.js", + "build.es5": "ngc -p tsconfig.legacy.json && rollup --config ./scripts/rollup.config.legacy.js", + "lint": "npm run lint.ts", + "lint.ts": "tslint --project .", + "lint.fix": "tslint --project . --fix", + "prerelease": "npm run validate && np prerelease --yolo --any-branch --tag next", + "test": "echo 'angular no tests yet'", + "tsc": "tsc -p .", + "validate": "npm i && npm run lint && npm run test && npm run build" + }, + "module": "dist/fesm5.js", + "main": "dist/fesm5.js", + "types": "dist/core.d.ts", + "files": [ + "dist/" + ], + "dependencies": { + "@aws-amplify/ui-components": "*", + "tslib": "^1.9.3" + }, + "devDependencies": { + "@angular/compiler-cli": "^7.2.1", + "@angular/core": "^7.2.1", + "rollup": "^1.1.2", + "rollup-plugin-node-resolve": "^4.0.0", + "rxjs": "^6.2.0", + "tsickle": "^0.34.0", + "typescript": "3.2.4", + "zone.js": "^0.8.28", + "tslint": "^5.12.1" + } +} diff --git a/packages/amplify-ui-angular/scripts/rollup.config.js b/packages/amplify-ui-angular/scripts/rollup.config.js new file mode 100755 index 00000000000..c6e93abab96 --- /dev/null +++ b/packages/amplify-ui-angular/scripts/rollup.config.js @@ -0,0 +1,24 @@ +import resolve from 'rollup-plugin-node-resolve'; + +export default { + input: 'build/es2015/core.js', + output: { + file: 'dist/fesm2015.js', + format: 'es' + }, + external: (id) => { + // inline @ionic/core deps + if (id === '@ionic/core') { + return false; + } + // anything else is external + // Windows: C:\xxxxxx\xxx + const colonPosition = 1; + return !(id.startsWith('.') || id.startsWith('/') || id.charAt(colonPosition) === ':'); + }, + plugins: [ + resolve({ + module: true, + }) + ] +}; diff --git a/packages/amplify-ui-angular/scripts/rollup.config.legacy.js b/packages/amplify-ui-angular/scripts/rollup.config.legacy.js new file mode 100755 index 00000000000..5fbe12a1b40 --- /dev/null +++ b/packages/amplify-ui-angular/scripts/rollup.config.legacy.js @@ -0,0 +1,9 @@ +import config from './rollup.config'; + +const newConfig = { + ...config, + input: 'build/es5/core.js', +}; +newConfig.output.file = 'dist/fesm5.js'; + +export { newConfig as default }; diff --git a/packages/amplify-ui-angular/src/amplify-module.ts b/packages/amplify-ui-angular/src/amplify-module.ts new file mode 100644 index 00000000000..cfa5237c3f3 --- /dev/null +++ b/packages/amplify-ui-angular/src/amplify-module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { defineCustomElements } from '@aws-amplify/ui-components/loader'; + +import { AmplifyAuthenticator } from './directives/proxies'; + +defineCustomElements(window); + +const DECLARATIONS = [AmplifyAuthenticator]; + +@NgModule({ + declarations: DECLARATIONS, + exports: DECLARATIONS, + imports: [], + providers: [], +}) +export class AmplifyModule {} diff --git a/packages/amplify-ui-angular/src/index.ts b/packages/amplify-ui-angular/src/index.ts new file mode 100644 index 00000000000..595fcc57368 --- /dev/null +++ b/packages/amplify-ui-angular/src/index.ts @@ -0,0 +1,5 @@ +// DIRECTIVES +export * from './directives/proxies'; + +// PACKAGE MODULE +export { AmplifyModule } from './amplify-module'; diff --git a/packages/amplify-ui-angular/tsconfig.json b/packages/amplify-ui-angular/tsconfig.json new file mode 100644 index 00000000000..58c6461eb36 --- /dev/null +++ b/packages/amplify-ui-angular/tsconfig.json @@ -0,0 +1,36 @@ +{ + "angularCompilerOptions": { + "annotateForClosureCompiler": true, + "strictMetadataEmit": true, + "flatModuleOutFile": "core.js", + "flatModuleId": "@ionic/angular", + "skipTemplateCodegen": true, + "fullTemplateTypeCheck": false + }, + "compilerOptions": { + "alwaysStrict": true, + "strict": true, + "allowSyntheticDefaultImports": true, + "allowUnreachableCode": false, + "declaration": true, + "declarationDir": "dist", + "experimentalDecorators": true, + "forceConsistentCasingInFileNames": true, + "lib": ["dom", "es2017"], + "module": "es2015", + "moduleResolution": "node", + "noImplicitAny": true, + "noImplicitReturns": true, + "noUnusedLocals": false, + "noUnusedParameters": true, + "outDir": "build/es2015", + "pretty": true, + "removeComments": false, + "importHelpers": true, + "rootDir": "src", + "strictPropertyInitialization": false, + "target": "es2015" + }, + "exclude": ["node_modules"], + "files": ["src/index.ts"] +} diff --git a/packages/amplify-ui-angular/tsconfig.legacy.json b/packages/amplify-ui-angular/tsconfig.legacy.json new file mode 100755 index 00000000000..14a366b0771 --- /dev/null +++ b/packages/amplify-ui-angular/tsconfig.legacy.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "target": "es5", + "declarationDir": "build/es5", + "outDir": "build/es5" + } + } \ No newline at end of file diff --git a/packages/amplify-ui-components/.gitattributes b/packages/amplify-ui-components/.gitattributes new file mode 100644 index 00000000000..64bcd457f8e --- /dev/null +++ b/packages/amplify-ui-components/.gitattributes @@ -0,0 +1 @@ +src/components/**/readme.md linguist-generated=true diff --git a/packages/amplify-ui-components/loader/package.json b/packages/amplify-ui-components/loader/package.json new file mode 100644 index 00000000000..a8c1da26737 --- /dev/null +++ b/packages/amplify-ui-components/loader/package.json @@ -0,0 +1,11 @@ +{ + "name": "amplify-ui-components-loader", + "typings": "../dist/loader/index.d.ts", + "module": "../dist/loader/index.mjs", + "main": "../dist/loader/index.cjs.js", + "node:main": "../dist/loader/node-main.js", + "jsnext:main": "../dist/loader/index.es2017.mjs", + "es2015": "../dist/loader/index.es2017.mjs", + "es2017": "../dist/loader/index.es2017.mjs", + "unpkg": "../dist/loader/cdn.js" +} diff --git a/packages/amplify-ui-components/package.json b/packages/amplify-ui-components/package.json index 732e5321713..b0d6320b039 100644 --- a/packages/amplify-ui-components/package.json +++ b/packages/amplify-ui-components/package.json @@ -24,8 +24,8 @@ "test:update-screenshot": "rm -f screenshot/builds/master.json && rm -f screenshot/images/* && stencil test --spec --e2e --screenshot --update-screenshot", "test:watch": "stencil test --spec --e2e --watchAll", "stencil": "stencil build --docs-readme", - "stencil:watch": "stencil build --dev --watch", - "start": "stencil build --dev --watch --serve", + "stencil:watch": "stencil build --watch", + "start": "stencil build --watch --serve", "storybook": "concurrently 'start-storybook -p 3000 -s ./www' 'yarn:stencil:watch' --raw", "build-with-test": "npm run clean && npm test && npm run stencil", "build": "npm run clean && npm run stencil", @@ -41,7 +41,8 @@ }, "devDependencies": { "@stencil/core": "^1.8.4", - "@stencil/state-tunnel": "^1.0.1", + "@stencil/angular-output-target": "^0.0.2", + "@stencil/react-output-target": "^0.0.2", "@storybook/addon-a11y": "^5.2.5", "@storybook/addon-actions": "^5.2.5", "@storybook/addon-console": "^1.2.1", diff --git a/packages/amplify-ui-components/src/components.d.ts b/packages/amplify-ui-components/src/components.d.ts index ed8a164264e..3cb04107322 100644 --- a/packages/amplify-ui-components/src/components.d.ts +++ b/packages/amplify-ui-components/src/components.d.ts @@ -174,7 +174,7 @@ export namespace Components { /** * Fires when confirm sign in form is submitted */ - 'handleSubmit': (Event) => void; + 'handleSubmit': (Event: Event) => void; /** * Used for header text in confirm sign in component */ @@ -748,7 +748,7 @@ export namespace Components { /** * Fires when sign in form is submitted */ - 'handleSubmit': (Event) => void; + 'handleSubmit': (Event: Event) => void; /** * Used for header text in sign in component */ @@ -1392,7 +1392,7 @@ declare namespace LocalJSX { /** * Fires when confirm sign in form is submitted */ - 'handleSubmit'?: (Event) => void; + 'handleSubmit'?: (Event: Event) => void; /** * Used for header text in confirm sign in component */ @@ -1966,7 +1966,7 @@ declare namespace LocalJSX { /** * Fires when sign in form is submitted */ - 'handleSubmit'?: (Event) => void; + 'handleSubmit'?: (Event: Event) => void; /** * Used for header text in sign in component */ diff --git a/packages/amplify-ui-components/src/components/amplify-authenticator/amplify-authenticator.tsx b/packages/amplify-ui-components/src/components/amplify-authenticator/amplify-authenticator.tsx index 01fd73cf5b4..97aecbc55a0 100644 --- a/packages/amplify-ui-components/src/components/amplify-authenticator/amplify-authenticator.tsx +++ b/packages/amplify-ui-components/src/components/amplify-authenticator/amplify-authenticator.tsx @@ -1,6 +1,5 @@ -import { Component, State, Prop, h } from '@stencil/core'; +import { Component, State, Prop, h, Host } from '@stencil/core'; import { AuthState, CognitoUserInterface, FederatedConfig } from '../../common/types/auth-types'; -import { AuthStateTunnel } from '../../data/auth-state'; import { NO_AUTH_MODULE_FOUND, SIGNING_IN_WITH_HOSTEDUI_KEY, AUTHENTICATOR_AUTHSTATE } from '../../common/constants'; import { Auth } from '@aws-amplify/auth'; import { Logger } from '@aws-amplify/core'; @@ -98,18 +97,13 @@ export class AmplifyAuthenticator { } render() { - const tunnelState = { - authState: this.authState, - onAuthStateChange: this.onAuthStateChange, - }; - return ( - + {this.renderAuthComponent(this.authState)} - + ); } } diff --git a/packages/amplify-ui-components/src/components/amplify-authenticator/readme.md b/packages/amplify-ui-components/src/components/amplify-authenticator/readme.md index 055c950751e..1e099b5d834 100644 --- a/packages/amplify-ui-components/src/components/amplify-authenticator/readme.md +++ b/packages/amplify-ui-components/src/components/amplify-authenticator/readme.md @@ -28,7 +28,6 @@ - [amplify-verify-contact](../amplify-verify-contact) - [amplify-totp-setup](../amplify-totp-setup) - [amplify-greetings](../amplify-greetings) -- context-consumer ### Graph ```mermaid @@ -42,7 +41,6 @@ graph TD; amplify-authenticator --> amplify-verify-contact amplify-authenticator --> amplify-totp-setup amplify-authenticator --> amplify-greetings - amplify-authenticator --> context-consumer amplify-sign-in --> amplify-link amplify-sign-in --> amplify-form-section amplify-sign-in --> amplify-federated-buttons diff --git a/packages/amplify-ui-components/src/components/amplify-confirm-sign-in/amplify-confirm-sign-in.tsx b/packages/amplify-ui-components/src/components/amplify-confirm-sign-in/amplify-confirm-sign-in.tsx index 8cd913ec3f1..2b90a877475 100644 --- a/packages/amplify-ui-components/src/components/amplify-confirm-sign-in/amplify-confirm-sign-in.tsx +++ b/packages/amplify-ui-components/src/components/amplify-confirm-sign-in/amplify-confirm-sign-in.tsx @@ -25,7 +25,7 @@ const logger = new Logger('ConfirmSignIn'); }) export class AmplifyConfirmSignIn { /** Fires when confirm sign in form is submitted */ - @Prop() handleSubmit: (Event) => void = event => this.confirm(event); + @Prop() handleSubmit: (Event: Event) => void = event => this.confirm(event); /** Engages when invalid actions occur, such as missing field, etc. */ @Prop() validationErrors: string; /** Used for header text in confirm sign in component */ diff --git a/packages/amplify-ui-components/src/components/amplify-confirm-sign-in/readme.md b/packages/amplify-ui-components/src/components/amplify-confirm-sign-in/readme.md index e618a464c79..e5693ef617c 100644 --- a/packages/amplify-ui-components/src/components/amplify-confirm-sign-in/readme.md +++ b/packages/amplify-ui-components/src/components/amplify-confirm-sign-in/readme.md @@ -9,7 +9,7 @@ | ----------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | | `formFields` | -- | Form fields allows you to utilize our pre-built components such as username field, code field, password field, email field, etc. by passing an array of strings that you would like the order of the form to be in. If you need more customization, such as changing text for a label or adjust a placeholder, you can follow the structure below in order to do just that. ``` [ { type: 'username'\|'password'\|'email'\|'code'\|'default', label: string, placeholder: string, hint: string \| Functional Component \| null, required: boolean } ] ``` | `FormFieldTypes \| string[]` | `[ { type: 'code', required: true, handleInputChange: event => this.handleCodeChange(event), }, ]` | | `handleAuthStateChange` | -- | Passed from the Authenticator component in order to change Authentication state | `(nextAuthState: AuthState, data?: object) => void` | `undefined` | -| `handleSubmit` | -- | Fires when confirm sign in form is submitted | `(Event: any) => void` | `event => this.confirm(event)` | +| `handleSubmit` | -- | Fires when confirm sign in form is submitted | `(Event: Event) => void` | `event => this.confirm(event)` | | `headerText` | `header-text` | Used for header text in confirm sign in component | `string` | `CONFIRM_SMS_CODE` | | `overrideStyle` | `override-style` | (Optional) Overrides default styling | `boolean` | `false` | | `submitButtonText` | `submit-button-text` | Used for the submit button text in confirm sign in component | `string` | `CONFIRM` | diff --git a/packages/amplify-ui-components/src/components/amplify-examples/readme.md b/packages/amplify-ui-components/src/components/amplify-examples/readme.md index 93eecd48b7b..a885864826d 100644 --- a/packages/amplify-ui-components/src/components/amplify-examples/readme.md +++ b/packages/amplify-ui-components/src/components/amplify-examples/readme.md @@ -32,7 +32,6 @@ graph TD; amplify-authenticator --> amplify-verify-contact amplify-authenticator --> amplify-totp-setup amplify-authenticator --> amplify-greetings - amplify-authenticator --> context-consumer amplify-sign-in --> amplify-link amplify-sign-in --> amplify-form-section amplify-sign-in --> amplify-federated-buttons diff --git a/packages/amplify-ui-components/src/components/amplify-icon/amplify-icon.spec.ts b/packages/amplify-ui-components/src/components/amplify-icon/amplify-icon.spec.ts index 9bcc98ff9ae..0acbf75273d 100644 --- a/packages/amplify-ui-components/src/components/amplify-icon/amplify-icon.spec.ts +++ b/packages/amplify-ui-components/src/components/amplify-icon/amplify-icon.spec.ts @@ -1,5 +1,5 @@ import { newSpecPage } from '@stencil/core/testing'; -import { AmplifyIcon } from './amplify-icon' +import { AmplifyIcon } from './amplify-icon'; import { icons } from './icons'; /** Helper functions */ @@ -12,15 +12,6 @@ async function snapshotTestIcon(iconName: string) { expect(page.root).toMatchSnapshot(); } -async function snapshotOverrideTestIcon(iconName: string) { - const page = await newSpecPage({ - components: [AmplifyIcon], - html: ``, - }); - - expect(page.root).toMatchSnapshot(); -} - /** Tests */ describe('amplify-icon spec:', () => { describe('Render logic ->', () => { @@ -34,4 +25,4 @@ describe('amplify-icon spec:', () => { expect(icon.overrideStyle).toBe(false); }); }); -}); \ No newline at end of file +}); diff --git a/packages/amplify-ui-components/src/components/amplify-sign-in/amplify-sign-in.spec.ts b/packages/amplify-ui-components/src/components/amplify-sign-in/amplify-sign-in.spec.ts index e08c73bbf82..17a0aaa6031 100644 --- a/packages/amplify-ui-components/src/components/amplify-sign-in/amplify-sign-in.spec.ts +++ b/packages/amplify-ui-components/src/components/amplify-sign-in/amplify-sign-in.spec.ts @@ -2,7 +2,6 @@ import { newSpecPage } from '@stencil/core/testing'; import { AmplifySignIn } from './amplify-sign-in'; import * as stories from './amplify-sign-in.stories'; // import { AmplifyForgotPasswordHint } from './amplify-forgot-password-hint'; -// import Tunnel from '../../data/auth-state'; const { default: { title }, diff --git a/packages/amplify-ui-components/src/components/amplify-sign-in/amplify-sign-in.tsx b/packages/amplify-ui-components/src/components/amplify-sign-in/amplify-sign-in.tsx index 5a001c283b1..244d630cc73 100644 --- a/packages/amplify-ui-components/src/components/amplify-sign-in/amplify-sign-in.tsx +++ b/packages/amplify-ui-components/src/components/amplify-sign-in/amplify-sign-in.tsx @@ -23,7 +23,7 @@ const logger = new Logger('SignIn'); }) export class AmplifySignIn { /** Fires when sign in form is submitted */ - @Prop() handleSubmit: (Event) => void = event => this.signIn(event); + @Prop() handleSubmit: (Event: Event) => void = event => this.signIn(event); /** Engages when invalid actions occur, such as missing field, etc. */ @Prop() validationErrors: string; /** Used for header text in sign in component */ diff --git a/packages/amplify-ui-components/src/components/amplify-sign-in/readme.md b/packages/amplify-ui-components/src/components/amplify-sign-in/readme.md index bc0882e03a8..e196aa85217 100644 --- a/packages/amplify-ui-components/src/components/amplify-sign-in/readme.md +++ b/packages/amplify-ui-components/src/components/amplify-sign-in/readme.md @@ -10,7 +10,7 @@ | `federated` | -- | Federated credentials & configuration. | `FederatedConfig` | `undefined` | | `formFields` | -- | Form fields allows you to utilize our pre-built components such as username field, code field, password field, email field, etc. by passing an array of strings that you would like the order of the form to be in. If you need more customization, such as changing text for a label or adjust a placeholder, you can follow the structure below in order to do just that. ``` [ { type: 'username'\|'password'\|'email'\|'code'\|'default', label: string, placeholder: string, hint: string \| Functional Component \| null, required: boolean } ] ``` | `FormFieldTypes \| string[]` | `undefined` | | `handleAuthStateChange` | -- | Passed from the Authenticator component in order to change Authentication state | `(nextAuthState: AuthState, data?: object) => void` | `undefined` | -| `handleSubmit` | -- | Fires when sign in form is submitted | `(Event: any) => void` | `event => this.signIn(event)` | +| `handleSubmit` | -- | Fires when sign in form is submitted | `(Event: Event) => void` | `event => this.signIn(event)` | | `headerText` | `header-text` | Used for header text in sign in component | `string` | `HEADER_TEXT` | | `overrideStyle` | `override-style` | (Optional) Overrides default styling | `boolean` | `false` | | `submitButtonText` | `submit-button-text` | Used for the submit button text in sign in component | `string` | `SUBMIT_BUTTON_TEXT` | diff --git a/packages/amplify-ui-components/src/data/auth-state.tsx b/packages/amplify-ui-components/src/data/auth-state.tsx deleted file mode 100644 index 0628215e264..00000000000 --- a/packages/amplify-ui-components/src/data/auth-state.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { h } from '@stencil/core'; -import { createProviderConsumer } from '@stencil/state-tunnel'; -import { AuthState } from '../common/types/auth-types'; -/** - * Interface for AuthState to be utilizied across the authenticator - */ -export interface State { - authState: AuthState; - onAuthStateChange?: (nextAuthState?: AuthState) => void; -} - -/** - * Creates the initial Provider to use in order to have - * children, e.g. `Consumer`, be able to use across the - * application. First parameter is the Default State passed, - * in this case the `loading` state. Props contained in the State - * interface will be passed to the Consumer. - */ -export const AuthStateTunnel = createProviderConsumer( - { - authState: AuthState.Loading, - }, - (subscribe, child) => , -); diff --git a/packages/amplify-ui-components/stencil.config.ts b/packages/amplify-ui-components/stencil.config.ts index 195a419facd..394fb8a6260 100644 --- a/packages/amplify-ui-components/stencil.config.ts +++ b/packages/amplify-ui-components/stencil.config.ts @@ -1,7 +1,10 @@ import { Config } from '@stencil/core'; +import { angularOutputTarget } from '@stencil/angular-output-target'; +import { reactOutputTarget } from '@stencil/react-output-target'; import nodePolyfills from 'rollup-plugin-node-polyfills'; export const config: Config = { + excludeSrc: ['**/*.e2e.*', '**/*.spec.*', '**/*.stories.*'], namespace: 'amplify-ui-components', plugins: [nodePolyfills()], commonjs: { @@ -15,6 +18,15 @@ export const config: Config = { }, }, outputTargets: [ + // See: https://github.com/ionic-team/stencil-ds-plugins#angular + angularOutputTarget({ + componentCorePackage: '@aws-amplify/ui-components', + directivesProxyFile: '../amplify-ui-angular/src/directives/proxies.ts', + }), + reactOutputTarget({ + componentCorePackage: '@aws-amplify/ui-components', + proxiesFile: '../amplify-ui-react/src/components.ts', + }), { type: 'dist' }, { type: 'docs-readme' }, { diff --git a/packages/amplify-ui-react/.gitignore b/packages/amplify-ui-react/.gitignore new file mode 100755 index 00000000000..f77f473d1ef --- /dev/null +++ b/packages/amplify-ui-react/.gitignore @@ -0,0 +1,3 @@ +# Ignore auto-generated scaffolding from StencilJS +src/components.ts +src/react-component-lib diff --git a/packages/amplify-ui-react/package.json b/packages/amplify-ui-react/package.json new file mode 100755 index 00000000000..e256faa5f1c --- /dev/null +++ b/packages/amplify-ui-react/package.json @@ -0,0 +1,47 @@ +{ + "name": "@aws-amplify/ui-react", + "sideEffects": false, + "version": "0.0.1", + "description": "React specific wrapper for @aws-amplify/ui-components", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/aws-amplify/amplify-js.git" + }, + "scripts": { + "build": "npm run clean && npm run compile", + "clean": "rm -rf dist", + "compile": "npm run tsc", + "tsc": "tsc -p ." + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "devDependencies": { + "@types/react": "^16.0.41", + "@types/react-dom": "^16.0.11", + "react": "^16.7.0", + "react-dom": "^16.7.0", + "typescript": "^3.3.4000" + }, + "dependencies": { + "@aws-amplify/ui-components": "*" + }, + "peerDependencies": { + "react": "^16.7.0", + "react-dom": "^16.7.0" + }, + "jest": { + "preset": "ts-jest", + "setupTestFrameworkScriptFile": "/jest.setup.js", + "testPathIgnorePatterns": [ + "node_modules", + "dist" + ] + } +} diff --git a/packages/amplify-ui-react/src/index.ts b/packages/amplify-ui-react/src/index.ts new file mode 100755 index 00000000000..07635cbbc8e --- /dev/null +++ b/packages/amplify-ui-react/src/index.ts @@ -0,0 +1 @@ +export * from './components'; diff --git a/packages/amplify-ui-react/tsconfig.json b/packages/amplify-ui-react/tsconfig.json new file mode 100755 index 00000000000..308089d83bc --- /dev/null +++ b/packages/amplify-ui-react/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "allowUnreachableCode": false, + "allowSyntheticDefaultImports": true, + "declaration": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "esModuleInterop": true, + "lib": ["dom", "es2015"], + "module": "es2015", + "moduleResolution": "node", + "noImplicitAny": true, + "noImplicitReturns": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "outDir": "dist", + "removeComments": false, + "sourceMap": true, + "jsx": "react", + "target": "es2015" + }, + "include": ["src/**/*.ts", "src/**/*.tsx"], + "exclude": ["**/__tests__/**"], + "compileOnSave": false, + "buildOnSave": false +} diff --git a/packages/amplify-ui-vue/package.json b/packages/amplify-ui-vue/package.json new file mode 100644 index 00000000000..323dba60b87 --- /dev/null +++ b/packages/amplify-ui-vue/package.json @@ -0,0 +1,28 @@ +{ + "name": "@aws-amplify/ui-vue", + "sideEffects": false, + "version": "0.0.1", + "description": "Vue specific wrapper for @aws-amplify/ui-components", + "publishConfig": { + "access": "public" + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist/" + ], + "repository": { + "type": "git", + "url": "https://github.com/aws-amplify/amplify-js.git" + }, + "dependencies": { + "@aws-amplify/ui-components": "*" + }, + "scripts": { + "build": "npm run clean && npm run compile", + "clean": "rm -rf dist", + "compile": "npm run tsc", + "tsc": "tsc -p ." + } +} diff --git a/packages/amplify-ui-vue/src/index.ts b/packages/amplify-ui-vue/src/index.ts new file mode 100644 index 00000000000..a10b4290bc7 --- /dev/null +++ b/packages/amplify-ui-vue/src/index.ts @@ -0,0 +1,15 @@ +import { + applyPolyfills, + defineCustomElements, +} from '@aws-amplify/ui-components/loader'; +import Vue from 'vue'; + +// Tell Vue to ignore all components defined in the @aws-amplify/ui-components +// package. The regex assumes all components names are prefixed +// 'amplify-' +Vue.config.ignoredElements = [/amplify-\w*/]; + +// Bind the custom elements to the window object +applyPolyfills().then(() => { + defineCustomElements(window); +}); diff --git a/packages/amplify-ui-vue/tsconfig.json b/packages/amplify-ui-vue/tsconfig.json new file mode 100755 index 00000000000..308089d83bc --- /dev/null +++ b/packages/amplify-ui-vue/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "allowUnreachableCode": false, + "allowSyntheticDefaultImports": true, + "declaration": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "esModuleInterop": true, + "lib": ["dom", "es2015"], + "module": "es2015", + "moduleResolution": "node", + "noImplicitAny": true, + "noImplicitReturns": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "outDir": "dist", + "removeComments": false, + "sourceMap": true, + "jsx": "react", + "target": "es2015" + }, + "include": ["src/**/*.ts", "src/**/*.tsx"], + "exclude": ["**/__tests__/**"], + "compileOnSave": false, + "buildOnSave": false +} diff --git a/yarn.lock b/yarn.lock index 860ed17d918..d0b9863ff88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,6 +19,23 @@ reflect-metadata "^0.1.2" tsickle "^0.27.2" +"@angular/compiler-cli@^7.2.1": + version "7.2.16" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-7.2.16.tgz#7936acb5bcc2e53739c09b475de6eb3b27fea9c9" + integrity sha512-3PK0Rlepvsy+MSw5oZEl26j+7E1hBI42T5+7hpZxf/c3vcPRORZ71oR3Ez/q51D2rkvovv8m8Ihv0Xjs0xDibQ== + dependencies: + canonical-path "1.0.0" + chokidar "^2.1.1" + convert-source-map "^1.5.1" + dependency-graph "^0.7.2" + magic-string "^0.25.0" + minimist "^1.2.0" + reflect-metadata "^0.1.2" + shelljs "^0.8.1" + source-map "^0.6.1" + tslib "^1.9.0" + yargs "13.1.0" + "@angular/compiler@^5.2.9": version "5.2.11" resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-5.2.11.tgz#ca2c38cda6ddde52b5948b8cff6551ff19d5e9de" @@ -33,6 +50,13 @@ dependencies: tslib "^1.7.1" +"@angular/core@^7.2.1": + version "7.2.16" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-7.2.16.tgz#317f707bc75ca5a90ba470c34e49e6adb7026e85" + integrity sha512-z1RuBinuYeC4KLv8Z95YOgIQLd4nkoApdxkIZaWALwSkgeBuHJn4bCBn2cL0gJ/KO2x18TiTU5HuC+uyBt0AVQ== + dependencies: + tslib "^1.9.0" + "@angular/forms@^6.0.3": version "6.1.10" resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-6.1.10.tgz#c9cd0f716cf91272e8e09e17a51fc20313df31b0" @@ -3152,6 +3176,11 @@ error-stack-parser "^2.0.0" string-width "^2.0.0" +"@stencil/angular-output-target@^0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@stencil/angular-output-target/-/angular-output-target-0.0.2.tgz#e534c736d204f9cc7c95f72c9c4d56739beba836" + integrity sha512-GyQ/VTipzzweuNYbs+FrK1q3FSEG4LZkzg+keuMQNRDX77aCy5hsYivspMRMwOXIwUXh9wSIzqQR3JuLiFHzcw== + "@stencil/core@^1.8.4": version "1.8.5" resolved "https://registry.yarnpkg.com/@stencil/core/-/core-1.8.5.tgz#354eb8d5ce0a201014d804258e36111e55ca38f9" @@ -3159,10 +3188,10 @@ dependencies: typescript "3.7.2" -"@stencil/state-tunnel@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stencil/state-tunnel/-/state-tunnel-1.0.1.tgz#21324f494ad719732505c8134099e415ac4c3c81" - integrity sha512-DYG8uROgL9hkjVTCtCfRBb0d3FwpiFB0muRrNZQ2X1Qo5hxMuNNji76/ILddqeq0AfgkKCW82xrMPDpy+rNIhQ== +"@stencil/react-output-target@^0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@stencil/react-output-target/-/react-output-target-0.0.2.tgz#7619fd7ef6d5f511bdc09e5436321e8d5223daaf" + integrity sha512-sIja4vhkQgHZcNt0kChvL3blX74xP/STSAbchLyg2oMCBQU1KxfPYgiw/3zs7NVZsbEDMAVak8bM/oorNQJZYw== "@storybook/addon-a11y@^5.2.5": version "5.2.8" @@ -3592,6 +3621,11 @@ resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== +"@types/estree@*": + version "0.0.42" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.42.tgz#8d0c1f480339efedb3e46070e22dd63e0430dd11" + integrity sha512-K1DPVvnBCPxzD+G51/cxVIoc2X8uUVl1zpJeE6iKcgHMj4+tbat5Xu4TjV7v2QSDbIeAfLi2hIk+u2+s0MlpUQ== + "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" @@ -4429,6 +4463,11 @@ acorn@^6.0.1, acorn@^6.0.4, acorn@^6.0.7, acorn@^6.1.1, acorn@^6.2.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784" integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw== +acorn@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" + integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== + address@1.1.2, address@^1.0.1, address@^1.0.3: version "1.1.2" resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" @@ -7084,6 +7123,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000989, can resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz#15a7ddf66aba786a71d99626bc8f2b91c6f0f5f0" integrity sha512-/xL2AbW/XWHNu1gnIrO8UitBGoFthcsDgU9VLK1/dpsoxbaD5LscHozKze05R6WLsBvLhqv78dAPozMFQBYLbQ== +canonical-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/canonical-path/-/canonical-path-1.0.0.tgz#fcb470c23958def85081856be7a86e904f180d1d" + integrity sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg== + capture-exit@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" @@ -7214,7 +7258,7 @@ chokidar@^1.4.2, chokidar@^1.6.0, chokidar@^1.6.1: optionalDependencies: fsevents "^1.0.0" -chokidar@^2.0.2, chokidar@^2.0.4, chokidar@^2.1.8: +chokidar@^2.0.2, chokidar@^2.0.4, chokidar@^2.1.1, chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== @@ -8871,6 +8915,11 @@ depd@~1.1.0, depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= +dependency-graph@^0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.7.2.tgz#91db9de6eb72699209d88aea4c1fd5221cac1c49" + integrity sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ== + deprecation@^2.0.0: version "2.3.1" resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" @@ -15047,6 +15096,13 @@ magic-string@^0.22.5: dependencies: vlq "^0.2.2" +magic-string@^0.25.0: + version "0.25.6" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.6.tgz#5586387d1242f919c6d223579cc938bf1420795e" + integrity sha512-3a5LOMSGoCTH5rbqobC2HuDNRtE2glHZ8J7pK+QZYppyWA36yuNpsX994rIY2nCuyP7CZYy7lQq/X2jygiZ89g== + dependencies: + sourcemap-codec "^1.4.4" + magic-string@^0.25.2, magic-string@^0.25.3: version "0.25.4" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.4.tgz#325b8a0a79fc423db109b77fd5a19183b7ba5143" @@ -18365,7 +18421,7 @@ react-devtools-core@^2.0.8: shell-quote "^1.6.1" ws "^2.0.3" -react-dom@^16.0.0, react-dom@^16.8.3: +react-dom@^16.0.0, react-dom@^16.7.0, react-dom@^16.8.3: version "16.12.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.12.0.tgz#0da4b714b8d13c2038c9396b54a92baea633fe11" integrity sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw== @@ -18670,7 +18726,7 @@ react-transition-group@^2.2.1: prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" -react@^16.0.0, react@^16.8.3: +react@^16.0.0, react@^16.7.0, react@^16.8.3: version "16.12.0" resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" integrity sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA== @@ -19550,6 +19606,15 @@ rollup@^0.67.4: "@types/estree" "0.0.39" "@types/node" "*" +rollup@^1.1.2: + version "1.29.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.29.0.tgz#6a1a79eea43ca9d3d79a90c15a1ceecedc72097b" + integrity sha512-V63Iz0dSdI5qPPN5HmCN6OBRzBFhMqNWcvwgq863JtSCTU6Vdvqq6S2fYle/dSCyoPrBkIP3EIr1RVs3HTRqqg== + dependencies: + "@types/estree" "*" + "@types/node" "*" + acorn "^7.1.0" + rst-selector-parser@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91" @@ -19616,6 +19681,13 @@ rxjs@^5.0.0-beta.11: dependencies: symbol-observable "1.0.1" +rxjs@^6.2.0: + version "6.5.4" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" + integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== + dependencies: + tslib "^1.9.0" + rxjs@^6.2.1, rxjs@^6.4.0, rxjs@^6.5.2: version "6.5.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" @@ -20286,6 +20358,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + sourcemap-codec@^1.4.4: version "1.4.6" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz#e30a74f0402bad09807640d39e971090a08ce1e9" @@ -21349,6 +21426,15 @@ tsickle@^0.27.2: source-map "^0.6.0" source-map-support "^0.5.0" +tsickle@^0.34.0: + version "0.34.3" + resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.34.3.tgz#8085067a26d7bff466ddadb2eba18849b49159b8" + integrity sha512-mb1v3nsr6rYaZky22xj0d6qv4ogAR40Bc6r37jwWOg3bEIO/ZppEFZiEADs/NNVLcWTPgmNmPZgaX5CfAH6oXA== + dependencies: + minimist "^1.2.0" + mkdirp "^0.5.1" + source-map "^0.7.3" + tslib@1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" @@ -21393,7 +21479,7 @@ tslint-microsoft-contrib@~5.2.1: dependencies: tsutils "^2.27.2 <2.29.0" -tslint@^5.7.0: +tslint@^5.12.1, tslint@^5.7.0: version "5.20.1" resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.1.tgz#e401e8aeda0152bc44dd07e614034f3f80c67b7d" integrity sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg== @@ -21543,11 +21629,21 @@ typescript@2.7.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.2.tgz#2d615a1ef4aee4f574425cdff7026edf81919836" integrity sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw== +typescript@3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.4.tgz#c585cb952912263d915b462726ce244ba510ef3d" + integrity sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg== + typescript@3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.2.tgz#27e489b95fa5909445e9fef5ee48d81697ad18fb" integrity sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ== +typescript@^3.3.4000: + version "3.7.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.4.tgz#1743a5ec5fef6a1fa9f3e4708e33c81c73876c19" + integrity sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw== + typescript@^3.5.3: version "3.7.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.3.tgz#b36840668a16458a7025b9eabfad11b66ab85c69" @@ -22759,7 +22855,7 @@ yargs-parser@^11.1.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^13.1.0, yargs-parser@^13.1.1: +yargs-parser@^13.0.0, yargs-parser@^13.1.0, yargs-parser@^13.1.1: version "13.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== @@ -22829,6 +22925,23 @@ yargs@12.0.5: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" +yargs@13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.1.0.tgz#b2729ce4bfc0c584939719514099d8a916ad2301" + integrity sha512-1UhJbXfzHiPqkfXNHYhiz79qM/kZqjTE8yGlEjZa85Q+3+OwcV6NRkV7XOV1W2Eom2bzILeUn55pQYffjVOLAg== + dependencies: + cliui "^4.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + os-locale "^3.1.0" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.0.0" + yargs@13.2.4: version "13.2.4" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" @@ -23000,7 +23113,7 @@ zen-observable@^0.8.6: resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== -zone.js@^0.8.26: +zone.js@^0.8.26, zone.js@^0.8.28: version "0.8.29" resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.29.tgz#8dce92aa0dd553b50bc5bfbb90af9986ad845a12" integrity sha512-mla2acNCMkWXBD+c+yeUrBUrzOxYMNFdQ6FGfigGGtEVBPJx07BQeJekjt9DmH1FtZek4E9rE1eRR9qQpxACOQ==