From 1ce1e19065b4edf1b09597a5544a9dd53d06a34a Mon Sep 17 00:00:00 2001 From: Forbes Lindesay Date: Mon, 28 Mar 2022 15:51:24 +0100 Subject: [PATCH 1/2] refactor: new build scripts --- README.md | 33 ++ package.json | 10 +- packages/auth-demo/package.json | 2 +- packages/base-error/package.json | 2 +- packages/cloudflare-ip/package.json | 2 +- packages/cookie-session/package.json | 2 +- packages/cookie/package.json | 2 +- packages/csrf-protection/package.json | 2 +- packages/csrf-protection/src/index.ts | 8 +- packages/facebook/package.json | 2 +- packages/facebook/src/index.ts | 14 +- packages/generate-passcode/Encoding.d.ts | 4 - packages/generate-passcode/Encoding.js | 3 - .../generate-passcode/Encoding/package.json | 4 + packages/generate-passcode/package.json | 4 +- packages/generate-passcode/src/Encoding.ts | 2 - packages/github/package.json | 2 +- packages/github/src/index.ts | 25 +- packages/google-authenticator/package.json | 2 +- packages/google/package.json | 2 +- packages/google/src/index.ts | 12 +- packages/is-email/package.json | 2 +- packages/keygrip/package.json | 2 +- packages/lock-by-id/package.json | 2 +- packages/oauth1/package.json | 2 +- packages/oauth1/src/index.ts | 13 +- packages/oauth2/package.json | 2 +- packages/passwordless/package.json | 2 +- packages/passwordless/src/types/index.ts | 2 - packages/passwordless/types/index.d.ts | 3 - packages/passwordless/types/index.js | 3 - packages/passwordless/types/package.json | 4 + packages/rate-limit/bucket.d.ts | 4 - packages/rate-limit/bucket.js | 3 - packages/rate-limit/bucket/package.json | 4 + packages/rate-limit/exponential.d.ts | 4 - packages/rate-limit/exponential.js | 3 - packages/rate-limit/exponential/package.json | 4 + packages/rate-limit/package.json | 2 +- packages/rate-limit/src/bucket.ts | 2 - packages/rate-limit/src/exponential.ts | 2 - packages/raw-cookie/package.json | 2 +- .../react-passwordless/CountdownTimer.d.ts | 4 - packages/react-passwordless/CountdownTimer.js | 3 - .../CountdownTimer/package.json | 4 + .../react-passwordless/DefaultEmailForm.d.ts | 4 - .../react-passwordless/DefaultEmailForm.js | 3 - .../DefaultEmailForm/package.json | 4 + packages/react-passwordless/DefaultForm.d.ts | 4 - packages/react-passwordless/DefaultForm.js | 3 - .../DefaultForm/package.json | 4 + .../DefaultPassCodeForm.d.ts | 4 - .../react-passwordless/DefaultPassCodeForm.js | 3 - .../DefaultPassCodeForm/package.json | 4 + packages/react-passwordless/package.json | 2 +- .../react-passwordless/src/CountdownTimer.tsx | 2 - .../src/DefaultEmailForm.tsx | 2 - .../react-passwordless/src/DefaultForm.tsx | 2 - .../src/DefaultPassCodeForm.tsx | 4 +- packages/react-passwordless/src/index.tsx | 122 ++-- packages/request-url/package.json | 2 +- packages/secure-hash/package.json | 4 +- packages/send-message/package.json | 2 +- packages/stripe/package.json | 2 +- packages/tumblr/package.json | 4 +- packages/twitter/package.json | 2 +- packages/types/package.json | 2 +- scripts/build-all.js | 30 - scripts/build.js | 172 ------ scripts/postinstall.js | 118 ++-- scripts/tsconfig.json | 33 ++ yarn.lock | 527 +++++++++++++++++- 72 files changed, 822 insertions(+), 460 deletions(-) delete mode 100644 packages/generate-passcode/Encoding.d.ts delete mode 100644 packages/generate-passcode/Encoding.js create mode 100644 packages/generate-passcode/Encoding/package.json delete mode 100644 packages/passwordless/types/index.d.ts delete mode 100644 packages/passwordless/types/index.js create mode 100644 packages/passwordless/types/package.json delete mode 100644 packages/rate-limit/bucket.d.ts delete mode 100644 packages/rate-limit/bucket.js create mode 100644 packages/rate-limit/bucket/package.json delete mode 100644 packages/rate-limit/exponential.d.ts delete mode 100644 packages/rate-limit/exponential.js create mode 100644 packages/rate-limit/exponential/package.json delete mode 100644 packages/react-passwordless/CountdownTimer.d.ts delete mode 100644 packages/react-passwordless/CountdownTimer.js create mode 100644 packages/react-passwordless/CountdownTimer/package.json delete mode 100644 packages/react-passwordless/DefaultEmailForm.d.ts delete mode 100644 packages/react-passwordless/DefaultEmailForm.js create mode 100644 packages/react-passwordless/DefaultEmailForm/package.json delete mode 100644 packages/react-passwordless/DefaultForm.d.ts delete mode 100644 packages/react-passwordless/DefaultForm.js create mode 100644 packages/react-passwordless/DefaultForm/package.json delete mode 100644 packages/react-passwordless/DefaultPassCodeForm.d.ts delete mode 100644 packages/react-passwordless/DefaultPassCodeForm.js create mode 100644 packages/react-passwordless/DefaultPassCodeForm/package.json delete mode 100644 scripts/build-all.js delete mode 100644 scripts/build.js create mode 100644 scripts/tsconfig.json diff --git a/README.md b/README.md index 0855f94..db40596 100644 --- a/README.md +++ b/README.md @@ -9,3 +9,36 @@ A lot of this code has been copied (with some modificaiton) from the excellent http://passportjs.org/ project, but I felt it was a shame that all that code was so locked into the passport framework. My hope is that `@authentication` provides primatives to allow experimenting with alternative high-level APIs. + + +Package Name | Version | Docs +-------------|---------|------ +@authentication/cloudflare-ip | [![NPM version](https://img.shields.io/npm/v/@authentication/cloudflare-ip?style=for-the-badge)](https://www.npmjs.com/package/@authentication/cloudflare-ip) | [https://www.atauthentication.com/docs/cloudflare-ip.html](https://www.atauthentication.com/docs/cloudflare-ip.html) +@authentication/cookie | [![NPM version](https://img.shields.io/npm/v/@authentication/cookie?style=for-the-badge)](https://www.npmjs.com/package/@authentication/cookie) | [https://www.atauthentication.com/docs/cookie.html](https://www.atauthentication.com/docs/cookie.html) +@authentication/cookie-session | [![NPM version](https://img.shields.io/npm/v/@authentication/cookie-session?style=for-the-badge)](https://www.npmjs.com/package/@authentication/cookie-session) | [https://www.atauthentication.com/docs/cookie-session.html](https://www.atauthentication.com/docs/cookie-session.html) +@authentication/csrf-protection | [![NPM version](https://img.shields.io/npm/v/@authentication/csrf-protection?style=for-the-badge)](https://www.npmjs.com/package/@authentication/csrf-protection) | [https://www.atauthentication.com/docs/csrf-protection.html](https://www.atauthentication.com/docs/csrf-protection.html) +@authentication/facebook | [![NPM version](https://img.shields.io/npm/v/@authentication/facebook?style=for-the-badge)](https://www.npmjs.com/package/@authentication/facebook) | [https://www.atauthentication.com/docs/facebook.html](https://www.atauthentication.com/docs/facebook.html) +@authentication/generate-passcode | [![NPM version](https://img.shields.io/npm/v/@authentication/generate-passcode?style=for-the-badge)](https://www.npmjs.com/package/@authentication/generate-passcode) | [https://www.atauthentication.com/docs/generate-passcode.html](https://www.atauthentication.com/docs/generate-passcode.html) +@authentication/github | [![NPM version](https://img.shields.io/npm/v/@authentication/github?style=for-the-badge)](https://www.npmjs.com/package/@authentication/github) | [https://www.atauthentication.com/docs/github.html](https://www.atauthentication.com/docs/github.html) +@authentication/google | [![NPM version](https://img.shields.io/npm/v/@authentication/google?style=for-the-badge)](https://www.npmjs.com/package/@authentication/google) | [https://www.atauthentication.com/docs/google.html](https://www.atauthentication.com/docs/google.html) +@authentication/google-authenticator | [![NPM version](https://img.shields.io/npm/v/@authentication/google-authenticator?style=for-the-badge)](https://www.npmjs.com/package/@authentication/google-authenticator) | [https://www.atauthentication.com/docs/google-authenticator.html](https://www.atauthentication.com/docs/google-authenticator.html) +@authentication/passwordless | [![NPM version](https://img.shields.io/npm/v/@authentication/passwordless?style=for-the-badge)](https://www.npmjs.com/package/@authentication/passwordless) | [https://www.atauthentication.com/docs/passwordless.html](https://www.atauthentication.com/docs/passwordless.html) +@authentication/rate-limit | [![NPM version](https://img.shields.io/npm/v/@authentication/rate-limit?style=for-the-badge)](https://www.npmjs.com/package/@authentication/rate-limit) | [https://www.atauthentication.com/docs/rate-limit.html](https://www.atauthentication.com/docs/rate-limit.html) +@authentication/request-url | [![NPM version](https://img.shields.io/npm/v/@authentication/request-url?style=for-the-badge)](https://www.npmjs.com/package/@authentication/request-url) | [https://www.atauthentication.com/docs/request-url.html](https://www.atauthentication.com/docs/request-url.html) +@authentication/secure-hash | [![NPM version](https://img.shields.io/npm/v/@authentication/secure-hash?style=for-the-badge)](https://www.npmjs.com/package/@authentication/secure-hash) | [https://www.atauthentication.com/docs/secure-hash.html](https://www.atauthentication.com/docs/secure-hash.html) +@authentication/send-message | [![NPM version](https://img.shields.io/npm/v/@authentication/send-message?style=for-the-badge)](https://www.npmjs.com/package/@authentication/send-message) | [https://www.atauthentication.com/docs/send-message.html](https://www.atauthentication.com/docs/send-message.html) +@authentication/stripe | [![NPM version](https://img.shields.io/npm/v/@authentication/stripe?style=for-the-badge)](https://www.npmjs.com/package/@authentication/stripe) | [https://www.atauthentication.com/docs/stripe.html](https://www.atauthentication.com/docs/stripe.html) +@authentication/tumblr | [![NPM version](https://img.shields.io/npm/v/@authentication/tumblr?style=for-the-badge)](https://www.npmjs.com/package/@authentication/tumblr) | [https://www.atauthentication.com/docs/tumblr.html](https://www.atauthentication.com/docs/tumblr.html) +@authentication/auth-demo | [![NPM version](https://img.shields.io/npm/v/@authentication/auth-demo?style=for-the-badge)](https://www.npmjs.com/package/@authentication/auth-demo) | Not documented yet +@authentication/base-error | [![NPM version](https://img.shields.io/npm/v/@authentication/base-error?style=for-the-badge)](https://www.npmjs.com/package/@authentication/base-error) | Not documented yet +@authentication/is-email | [![NPM version](https://img.shields.io/npm/v/@authentication/is-email?style=for-the-badge)](https://www.npmjs.com/package/@authentication/is-email) | Not documented yet +@authentication/keygrip | [![NPM version](https://img.shields.io/npm/v/@authentication/keygrip?style=for-the-badge)](https://www.npmjs.com/package/@authentication/keygrip) | Not documented yet +@authentication/lock-by-id | [![NPM version](https://img.shields.io/npm/v/@authentication/lock-by-id?style=for-the-badge)](https://www.npmjs.com/package/@authentication/lock-by-id) | Not documented yet +@authentication/oauth1 | [![NPM version](https://img.shields.io/npm/v/@authentication/oauth1?style=for-the-badge)](https://www.npmjs.com/package/@authentication/oauth1) | Not documented yet +@authentication/oauth2 | [![NPM version](https://img.shields.io/npm/v/@authentication/oauth2?style=for-the-badge)](https://www.npmjs.com/package/@authentication/oauth2) | Not documented yet +@authentication/raw-cookie | [![NPM version](https://img.shields.io/npm/v/@authentication/raw-cookie?style=for-the-badge)](https://www.npmjs.com/package/@authentication/raw-cookie) | Not documented yet +@authentication/react-passwordless | [![NPM version](https://img.shields.io/npm/v/@authentication/react-passwordless?style=for-the-badge)](https://www.npmjs.com/package/@authentication/react-passwordless) | Not documented yet +@authentication/saml-protocol | [![NPM version](https://img.shields.io/npm/v/@authentication/saml-protocol?style=for-the-badge)](https://www.npmjs.com/package/@authentication/saml-protocol) | Not documented yet +@authentication/twitter | [![NPM version](https://img.shields.io/npm/v/@authentication/twitter?style=for-the-badge)](https://www.npmjs.com/package/@authentication/twitter) | Not documented yet +@authentication/types | [![NPM version](https://img.shields.io/npm/v/@authentication/types?style=for-the-badge)](https://www.npmjs.com/package/@authentication/types) | Not documented yet + diff --git a/package.json b/package.json index e0f7217..0649d43 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,10 @@ ], "scripts": { "postinstall": "node scripts/postinstall", - "build": "node scripts/build-all --only-changed", - "build:all": "node scripts/build-all", + "build": "tsc --build scripts", + "build:watch": "yarn build --watch", "prerelease": "yarn build:all", - "prettier": "prettier --write \"packages/*/src/**/*.{ts,tsx}\"", + "prettier:write": "prettier --write \"packages/*/src/**/*.{ts,tsx}\"", "test": "jest", "posttest": "wsrun --parallel --exclude-missing test", "watch:jest": "jest --watch", @@ -41,10 +41,10 @@ "jest": "^26.1.0", "lsr": "^2.0.0", "mkdirp": "^1.0.4", - "prettier": "^2.0.5", + "prettier": "^2.5.1", "rimraf": "^3.0.2", "ts-jest": "^26.1.3", - "typescript": "^3.9.7", + "typescript": "^4.5.5", "wsrun": "^5.2.1" }, "resolutions": { diff --git a/packages/auth-demo/package.json b/packages/auth-demo/package.json index 8b43b2e..1bc0d1f 100644 --- a/packages/auth-demo/package.json +++ b/packages/auth-demo/package.json @@ -30,7 +30,7 @@ "start": "moped start" }, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/auth-demo", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/base-error/package.json b/packages/base-error/package.json index 4d29314..b385bee 100644 --- a/packages/base-error/package.json +++ b/packages/base-error/package.json @@ -6,7 +6,7 @@ "types": "./lib/index.d.ts", "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/base-error", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/cloudflare-ip/package.json b/packages/cloudflare-ip/package.json index 1a7d214..71f0fd9 100644 --- a/packages/cloudflare-ip/package.json +++ b/packages/cloudflare-ip/package.json @@ -14,7 +14,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/cloudflare-ip", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/cookie-session/package.json b/packages/cookie-session/package.json index a0c193a..a951678 100644 --- a/packages/cookie-session/package.json +++ b/packages/cookie-session/package.json @@ -10,7 +10,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/cookie-session", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/cookie/package.json b/packages/cookie/package.json index 8b30f15..17a4012 100644 --- a/packages/cookie/package.json +++ b/packages/cookie/package.json @@ -14,7 +14,7 @@ }, "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/cookie", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/csrf-protection/package.json b/packages/csrf-protection/package.json index 944889a..a6107c1 100644 --- a/packages/csrf-protection/package.json +++ b/packages/csrf-protection/package.json @@ -7,7 +7,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/csrf-protection", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/csrf-protection/src/index.ts b/packages/csrf-protection/src/index.ts index fea0602..37079da 100644 --- a/packages/csrf-protection/src/index.ts +++ b/packages/csrf-protection/src/index.ts @@ -3,7 +3,7 @@ import {URL} from 'url'; export type ErrorHandler< TRequest extends IncomingMessage = IncomingMessage, - TResponse extends ServerResponse = ServerResponse + TResponse extends ServerResponse = ServerResponse, > = ( req: TRequest, res: TResponse, @@ -12,7 +12,7 @@ export type ErrorHandler< ) => any; export interface Options< TRequest extends IncomingMessage = IncomingMessage, - TResponse extends ServerResponse = ServerResponse + TResponse extends ServerResponse = ServerResponse, > { errorHandler?: ErrorHandler; host?: string; @@ -61,7 +61,7 @@ export function getMatcher(host?: string) { } export default function csrfProtection< TRequest extends IncomingMessage = IncomingMessage, - TResponse extends ServerResponse = ServerResponse + TResponse extends ServerResponse = ServerResponse, >(options: Options = {}) { const ignoreMethods = options.ignoreMethods || ['GET', 'HEAD', 'OPTIONS']; const matcher = getMatcher(options.host); @@ -110,7 +110,7 @@ function getHostFromEnvironment(): undefined | string { if (typeof baseURL === 'string') { try { return new URL(baseURL).host; - } catch (ex) { + } catch (ex: any) { throw new Error( `Error parsing ${ process.env.BASE_URL ? 'BASE_URL' : 'BASE_URI' diff --git a/packages/facebook/package.json b/packages/facebook/package.json index e8e8781..e26d869 100644 --- a/packages/facebook/package.json +++ b/packages/facebook/package.json @@ -11,7 +11,7 @@ }, "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/facebook", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/facebook/src/index.ts b/packages/facebook/src/index.ts index ae83f3e..0580b4c 100644 --- a/packages/facebook/src/index.ts +++ b/packages/facebook/src/index.ts @@ -57,7 +57,8 @@ export const DEFAULT_SCOPE: string[] = []; * Facebook using the OAuth 2.0 protocol. */ export default class FacebookAuthentication - implements RedirectStrategy, CallbackOptions> { + implements RedirectStrategy, CallbackOptions> +{ static DEFAULT_SCOPE: ReadonlyArray = DEFAULT_SCOPE; private readonly _oauth: OAuth2Authentication; private readonly _clientSecret: string; @@ -121,7 +122,7 @@ export default class FacebookAuthentication let body = ''; try { body = (await this._oauth.get(url, accessToken)).data; - } catch (err) { + } catch (err: any) { let json: any = null; if (err.data) { try { @@ -218,7 +219,7 @@ export default class FacebookAuthentication let body = ''; try { body = (await this._oauth.get(url, accessToken)).data; - } catch (err) { + } catch (err: any) { let json: any = null; if (err.data) { try { @@ -285,11 +286,8 @@ export default class FacebookAuthentication ); } - const { - accessToken, - refreshToken, - state, - } = await this._oauth.completeAuthentication(req, res); + const {accessToken, refreshToken, state} = + await this._oauth.completeAuthentication(req, res); const {profile, rawProfile} = await this.getUserProfile( accessToken, options, diff --git a/packages/generate-passcode/Encoding.d.ts b/packages/generate-passcode/Encoding.d.ts deleted file mode 100644 index 2a8ecf1..0000000 --- a/packages/generate-passcode/Encoding.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -// @autogenerated - -export * from './lib/Encoding'; -export {default} from './lib/Encoding'; diff --git a/packages/generate-passcode/Encoding.js b/packages/generate-passcode/Encoding.js deleted file mode 100644 index 33f7a4a..0000000 --- a/packages/generate-passcode/Encoding.js +++ /dev/null @@ -1,3 +0,0 @@ -// @autogenerated - -module.exports = require('./lib/Encoding'); diff --git a/packages/generate-passcode/Encoding/package.json b/packages/generate-passcode/Encoding/package.json new file mode 100644 index 0000000..80d0360 --- /dev/null +++ b/packages/generate-passcode/Encoding/package.json @@ -0,0 +1,4 @@ +{ + "main": "../lib/Encoding.js", + "types": "../lib/Encoding.d.ts" +} diff --git a/packages/generate-passcode/package.json b/packages/generate-passcode/package.json index 1c315a5..ac8c148 100644 --- a/packages/generate-passcode/package.json +++ b/packages/generate-passcode/package.json @@ -11,9 +11,9 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/generate-passcode", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, "homepage": "https://www.atauthentication.com/docs/generate-passcode.html" -} \ No newline at end of file +} diff --git a/packages/generate-passcode/src/Encoding.ts b/packages/generate-passcode/src/Encoding.ts index c11c5ab..4f5086b 100644 --- a/packages/generate-passcode/src/Encoding.ts +++ b/packages/generate-passcode/src/Encoding.ts @@ -1,5 +1,3 @@ -// @public - enum Encoding { base91 = 'base91', base64 = 'base64', diff --git a/packages/github/package.json b/packages/github/package.json index 26b00d6..79e73ee 100644 --- a/packages/github/package.json +++ b/packages/github/package.json @@ -11,7 +11,7 @@ }, "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/github", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/github/src/index.ts b/packages/github/src/index.ts index 62e544e..d62485a 100644 --- a/packages/github/src/index.ts +++ b/packages/github/src/index.ts @@ -43,7 +43,8 @@ export const DEFAULT_SCOPE = ['read:user', 'user:email']; * GitHub using the OAuth 2.0 protocol. */ export default class GitHubAuthentication - implements RedirectStrategy> { + implements RedirectStrategy> +{ static DEFAULT_SCOPE: ReadonlyArray = DEFAULT_SCOPE; private readonly _oauth: OAuth2Authentication; public readonly callbackPath: string; @@ -85,9 +86,7 @@ export default class GitHubAuthentication * * This function constructs a normalized profile */ - async getUserProfile( - accessToken: string, - ): Promise<{ + async getUserProfile(accessToken: string): Promise<{ profile: Profile; rawProfile: RawGitHubProfile; rawEmails: null | RawEmail[]; @@ -95,7 +94,7 @@ export default class GitHubAuthentication let body = ''; try { body = (await this._oauth.get(userProfileURL, accessToken)).data; - } catch (err) { + } catch (err: any) { let json: any = null; if (err.data) { try { @@ -125,7 +124,7 @@ export default class GitHubAuthentication let emailsBody = ''; try { emailsBody = (await this._oauth.get(userEmailsURL, accessToken)).data; - } catch (err) { + } catch (err: any) { // 404 likely means we just didn't get the user:email OAuth scope if (err.statusCode !== 404) { let json: any = null; @@ -182,19 +181,13 @@ export default class GitHubAuthentication }); } async completeAuthenticationWithoutProfile(req: Request, res: Response) { - const { - accessToken, - refreshToken, - state, - } = await this._oauth.completeAuthentication(req, res); + const {accessToken, refreshToken, state} = + await this._oauth.completeAuthentication(req, res); return {accessToken, refreshToken, state}; } async completeAuthentication(req: Request, res: Response) { - const { - accessToken, - refreshToken, - state, - } = await this._oauth.completeAuthentication(req, res); + const {accessToken, refreshToken, state} = + await this._oauth.completeAuthentication(req, res); const {profile, rawProfile, rawEmails} = await this.getUserProfile( accessToken, ); diff --git a/packages/google-authenticator/package.json b/packages/google-authenticator/package.json index 6e1b9f2..a91fd52 100644 --- a/packages/google-authenticator/package.json +++ b/packages/google-authenticator/package.json @@ -15,7 +15,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/google-authenticator", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/google/package.json b/packages/google/package.json index 8cee531..98bd028 100644 --- a/packages/google/package.json +++ b/packages/google/package.json @@ -11,7 +11,7 @@ }, "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/google", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/google/src/index.ts b/packages/google/src/index.ts index 3e60838..84251dc 100644 --- a/packages/google/src/index.ts +++ b/packages/google/src/index.ts @@ -98,7 +98,8 @@ export {GooglePlusAPIError, UserInfoError}; * Google using the OAuth 2.0 protocol. */ export default class GoogleAuthentication - implements RedirectStrategy> { + implements RedirectStrategy> +{ static DEFAULT_SCOPE: ReadonlyArray = DEFAULT_SCOPE; private readonly _oauth: OAuth2Authentication; public readonly callbackPath: string; @@ -143,7 +144,7 @@ export default class GoogleAuthentication let body = ''; try { body = (await this._oauth.get(userProfileURL, accessToken)).data; - } catch (err) { + } catch (err: any) { let json: any = null; if (err.data) { try { @@ -191,11 +192,8 @@ export default class GoogleAuthentication }); } async completeAuthentication(req: Request, res: Response) { - const { - accessToken, - refreshToken, - state, - } = await this._oauth.completeAuthentication(req, res); + const {accessToken, refreshToken, state} = + await this._oauth.completeAuthentication(req, res); const {profile} = await this.getUserProfile(accessToken); return {accessToken, refreshToken, profile, state}; } diff --git a/packages/is-email/package.json b/packages/is-email/package.json index b867e2a..e9b8562 100644 --- a/packages/is-email/package.json +++ b/packages/is-email/package.json @@ -7,7 +7,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/is-email", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/keygrip/package.json b/packages/keygrip/package.json index fd8d4e9..f134542 100644 --- a/packages/keygrip/package.json +++ b/packages/keygrip/package.json @@ -7,7 +7,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/keygrip", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/lock-by-id/package.json b/packages/lock-by-id/package.json index 09c7799..7cab56d 100644 --- a/packages/lock-by-id/package.json +++ b/packages/lock-by-id/package.json @@ -7,7 +7,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/lock-by-id", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/oauth1/package.json b/packages/oauth1/package.json index 9e50545..9aa0320 100644 --- a/packages/oauth1/package.json +++ b/packages/oauth1/package.json @@ -14,7 +14,7 @@ }, "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/oauth1", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/oauth1/src/index.ts b/packages/oauth1/src/index.ts index 340c876..b75c116 100644 --- a/packages/oauth1/src/index.ts +++ b/packages/oauth1/src/index.ts @@ -11,7 +11,7 @@ function parseURL(name: string, input: URL | string, base?: string | URL) { if (typeof input === 'string') { try { return new URL(input, base); - } catch (ex) { + } catch (ex: any) { throw new Error(`${name} was not a valid URL. ${ex.message}`); } } @@ -110,9 +110,10 @@ export default class OAuth1Authentication { throw new TypeError('OAuthStrategy requires a consumerSecret option'); } this._callbackURL = options.callbackURL; - this.callbackPath = (typeof options.callbackURL === 'string' - ? new URL(options.callbackURL, 'http://example.com') - : options.callbackURL + this.callbackPath = ( + typeof options.callbackURL === 'string' + ? new URL(options.callbackURL, 'http://example.com') + : options.callbackURL ).pathname; this._base = new OAuth1Base( requestTokenURL.href, @@ -159,9 +160,7 @@ export default class OAuth1Authentication { ); }); } - private getOAuthRequestToken(params: { - [key: string]: string; - }): Promise<{ + private getOAuthRequestToken(params: {[key: string]: string}): Promise<{ token: string; tokenSecret: string; params: { diff --git a/packages/oauth2/package.json b/packages/oauth2/package.json index 50a7813..be2d588 100644 --- a/packages/oauth2/package.json +++ b/packages/oauth2/package.json @@ -14,7 +14,7 @@ }, "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/oauth2", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/passwordless/package.json b/packages/passwordless/package.json index 8917b7a..c2b22a3 100644 --- a/packages/passwordless/package.json +++ b/packages/passwordless/package.json @@ -17,7 +17,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/passwordless", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/passwordless/src/types/index.ts b/packages/passwordless/src/types/index.ts index 5683e14..75cf846 100644 --- a/packages/passwordless/src/types/index.ts +++ b/packages/passwordless/src/types/index.ts @@ -1,5 +1,3 @@ -// @public - import Encoding from '@authentication/generate-passcode/Encoding'; import PasswordlessResponseKind from './PasswordlessResponseKind'; import RateLimitExceededError from './RateLimitExceededError'; diff --git a/packages/passwordless/types/index.d.ts b/packages/passwordless/types/index.d.ts deleted file mode 100644 index ee81463..0000000 --- a/packages/passwordless/types/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -// @autogenerated - -export * from '../lib/types'; diff --git a/packages/passwordless/types/index.js b/packages/passwordless/types/index.js deleted file mode 100644 index 7aa17d3..0000000 --- a/packages/passwordless/types/index.js +++ /dev/null @@ -1,3 +0,0 @@ -// @autogenerated - -module.exports = require('../lib/types'); diff --git a/packages/passwordless/types/package.json b/packages/passwordless/types/package.json new file mode 100644 index 0000000..020788c --- /dev/null +++ b/packages/passwordless/types/package.json @@ -0,0 +1,4 @@ +{ + "main": "../lib/types/index.js", + "types": "../lib/types/index.d.ts" +} diff --git a/packages/rate-limit/bucket.d.ts b/packages/rate-limit/bucket.d.ts deleted file mode 100644 index 968792c..0000000 --- a/packages/rate-limit/bucket.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -// @autogenerated - -export * from './lib/bucket'; -export {default} from './lib/bucket'; diff --git a/packages/rate-limit/bucket.js b/packages/rate-limit/bucket.js deleted file mode 100644 index c7d4bd9..0000000 --- a/packages/rate-limit/bucket.js +++ /dev/null @@ -1,3 +0,0 @@ -// @autogenerated - -module.exports = require('./lib/bucket'); diff --git a/packages/rate-limit/bucket/package.json b/packages/rate-limit/bucket/package.json new file mode 100644 index 0000000..f673a17 --- /dev/null +++ b/packages/rate-limit/bucket/package.json @@ -0,0 +1,4 @@ +{ + "main": "../lib/bucket.js", + "types": "../lib/bucket.d.ts" +} diff --git a/packages/rate-limit/exponential.d.ts b/packages/rate-limit/exponential.d.ts deleted file mode 100644 index 146e4e8..0000000 --- a/packages/rate-limit/exponential.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -// @autogenerated - -export * from './lib/exponential'; -export {default} from './lib/exponential'; diff --git a/packages/rate-limit/exponential.js b/packages/rate-limit/exponential.js deleted file mode 100644 index eed231d..0000000 --- a/packages/rate-limit/exponential.js +++ /dev/null @@ -1,3 +0,0 @@ -// @autogenerated - -module.exports = require('./lib/exponential'); diff --git a/packages/rate-limit/exponential/package.json b/packages/rate-limit/exponential/package.json new file mode 100644 index 0000000..cffaf4a --- /dev/null +++ b/packages/rate-limit/exponential/package.json @@ -0,0 +1,4 @@ +{ + "main": "../lib/exponential.js", + "types": "../lib/exponential.d.ts" +} diff --git a/packages/rate-limit/package.json b/packages/rate-limit/package.json index 87c0b46..66ee083 100644 --- a/packages/rate-limit/package.json +++ b/packages/rate-limit/package.json @@ -11,7 +11,7 @@ }, "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/rate-limit", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/rate-limit/src/bucket.ts b/packages/rate-limit/src/bucket.ts index e893e67..4bedd01 100644 --- a/packages/rate-limit/src/bucket.ts +++ b/packages/rate-limit/src/bucket.ts @@ -1,5 +1,3 @@ -// @public - import takeBucket, { updateBucketState, BucketOptions, diff --git a/packages/rate-limit/src/exponential.ts b/packages/rate-limit/src/exponential.ts index 6d44641..a08d538 100644 --- a/packages/rate-limit/src/exponential.ts +++ b/packages/rate-limit/src/exponential.ts @@ -1,5 +1,3 @@ -// @public - import takeExponential, { ExponentialOptions, ExponentialState, diff --git a/packages/raw-cookie/package.json b/packages/raw-cookie/package.json index c96a0f7..16e1b3b 100644 --- a/packages/raw-cookie/package.json +++ b/packages/raw-cookie/package.json @@ -7,7 +7,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/raw-cookie", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/react-passwordless/CountdownTimer.d.ts b/packages/react-passwordless/CountdownTimer.d.ts deleted file mode 100644 index 769f451..0000000 --- a/packages/react-passwordless/CountdownTimer.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -// @autogenerated - -export * from './lib/CountdownTimer'; -export {default} from './lib/CountdownTimer'; diff --git a/packages/react-passwordless/CountdownTimer.js b/packages/react-passwordless/CountdownTimer.js deleted file mode 100644 index 26ba099..0000000 --- a/packages/react-passwordless/CountdownTimer.js +++ /dev/null @@ -1,3 +0,0 @@ -// @autogenerated - -module.exports = require('./lib/CountdownTimer'); diff --git a/packages/react-passwordless/CountdownTimer/package.json b/packages/react-passwordless/CountdownTimer/package.json new file mode 100644 index 0000000..28a2e7d --- /dev/null +++ b/packages/react-passwordless/CountdownTimer/package.json @@ -0,0 +1,4 @@ +{ + "main": "../lib/CountdownTimer.js", + "types": "../lib/CountdownTimer.d.ts" +} diff --git a/packages/react-passwordless/DefaultEmailForm.d.ts b/packages/react-passwordless/DefaultEmailForm.d.ts deleted file mode 100644 index ac2a49a..0000000 --- a/packages/react-passwordless/DefaultEmailForm.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -// @autogenerated - -export * from './lib/DefaultEmailForm'; -export {default} from './lib/DefaultEmailForm'; diff --git a/packages/react-passwordless/DefaultEmailForm.js b/packages/react-passwordless/DefaultEmailForm.js deleted file mode 100644 index 4223f11..0000000 --- a/packages/react-passwordless/DefaultEmailForm.js +++ /dev/null @@ -1,3 +0,0 @@ -// @autogenerated - -module.exports = require('./lib/DefaultEmailForm'); diff --git a/packages/react-passwordless/DefaultEmailForm/package.json b/packages/react-passwordless/DefaultEmailForm/package.json new file mode 100644 index 0000000..8ece92a --- /dev/null +++ b/packages/react-passwordless/DefaultEmailForm/package.json @@ -0,0 +1,4 @@ +{ + "main": "../lib/DefaultEmailForm.js", + "types": "../lib/DefaultEmailForm.d.ts" +} diff --git a/packages/react-passwordless/DefaultForm.d.ts b/packages/react-passwordless/DefaultForm.d.ts deleted file mode 100644 index f5e8067..0000000 --- a/packages/react-passwordless/DefaultForm.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -// @autogenerated - -export * from './lib/DefaultForm'; -export {default} from './lib/DefaultForm'; diff --git a/packages/react-passwordless/DefaultForm.js b/packages/react-passwordless/DefaultForm.js deleted file mode 100644 index 54ba023..0000000 --- a/packages/react-passwordless/DefaultForm.js +++ /dev/null @@ -1,3 +0,0 @@ -// @autogenerated - -module.exports = require('./lib/DefaultForm'); diff --git a/packages/react-passwordless/DefaultForm/package.json b/packages/react-passwordless/DefaultForm/package.json new file mode 100644 index 0000000..b1a8bfc --- /dev/null +++ b/packages/react-passwordless/DefaultForm/package.json @@ -0,0 +1,4 @@ +{ + "main": "../lib/DefaultForm.js", + "types": "../lib/DefaultForm.d.ts" +} diff --git a/packages/react-passwordless/DefaultPassCodeForm.d.ts b/packages/react-passwordless/DefaultPassCodeForm.d.ts deleted file mode 100644 index 14a9e38..0000000 --- a/packages/react-passwordless/DefaultPassCodeForm.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -// @autogenerated - -export * from './lib/DefaultPassCodeForm'; -export {default} from './lib/DefaultPassCodeForm'; diff --git a/packages/react-passwordless/DefaultPassCodeForm.js b/packages/react-passwordless/DefaultPassCodeForm.js deleted file mode 100644 index 56b9e26..0000000 --- a/packages/react-passwordless/DefaultPassCodeForm.js +++ /dev/null @@ -1,3 +0,0 @@ -// @autogenerated - -module.exports = require('./lib/DefaultPassCodeForm'); diff --git a/packages/react-passwordless/DefaultPassCodeForm/package.json b/packages/react-passwordless/DefaultPassCodeForm/package.json new file mode 100644 index 0000000..4bb4c8f --- /dev/null +++ b/packages/react-passwordless/DefaultPassCodeForm/package.json @@ -0,0 +1,4 @@ +{ + "main": "../lib/DefaultPassCodeForm.js", + "types": "../lib/DefaultPassCodeForm.d.ts" +} diff --git a/packages/react-passwordless/package.json b/packages/react-passwordless/package.json index c43f1cd..2ee3b8c 100644 --- a/packages/react-passwordless/package.json +++ b/packages/react-passwordless/package.json @@ -19,7 +19,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/react-passwordless", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/react-passwordless/src/CountdownTimer.tsx b/packages/react-passwordless/src/CountdownTimer.tsx index feb5e4e..a188cdd 100644 --- a/packages/react-passwordless/src/CountdownTimer.tsx +++ b/packages/react-passwordless/src/CountdownTimer.tsx @@ -1,5 +1,3 @@ -// @public - import * as React from 'react'; function useForceUpdate() { diff --git a/packages/react-passwordless/src/DefaultEmailForm.tsx b/packages/react-passwordless/src/DefaultEmailForm.tsx index 26f6c52..d4004e1 100644 --- a/packages/react-passwordless/src/DefaultEmailForm.tsx +++ b/packages/react-passwordless/src/DefaultEmailForm.tsx @@ -1,5 +1,3 @@ -// @public - import * as React from 'react'; import CountdownTimer from './CountdownTimer'; import {EnteringEmail, PasswordlessResponseKind} from '.'; diff --git a/packages/react-passwordless/src/DefaultForm.tsx b/packages/react-passwordless/src/DefaultForm.tsx index 1bc7b35..da8d38b 100644 --- a/packages/react-passwordless/src/DefaultForm.tsx +++ b/packages/react-passwordless/src/DefaultForm.tsx @@ -1,5 +1,3 @@ -// @public - import * as React from 'react'; import usePasswordless, { PasswordlessStage, diff --git a/packages/react-passwordless/src/DefaultPassCodeForm.tsx b/packages/react-passwordless/src/DefaultPassCodeForm.tsx index 94271c7..9ffa473 100644 --- a/packages/react-passwordless/src/DefaultPassCodeForm.tsx +++ b/packages/react-passwordless/src/DefaultPassCodeForm.tsx @@ -1,5 +1,3 @@ -// @public - import * as React from 'react'; import useDigitInput, {InputAttributes} from 'react-digit-input'; import CountdownTimer from './CountdownTimer'; @@ -84,7 +82,7 @@ export default function DefaultPassCodeForm(props: EnteringPassCode) { can try again. ) : props.error ? ( - props.error.message + (props.error as any).message ) : null}

Altenatively you can just click the "Magic" link in the e-mail

diff --git a/packages/react-passwordless/src/index.tsx b/packages/react-passwordless/src/index.tsx index 2cc5917..0e38c9a 100644 --- a/packages/react-passwordless/src/index.tsx +++ b/packages/react-passwordless/src/index.tsx @@ -128,14 +128,12 @@ export default function usePasswordless({ useEffect(() => { if (state.error?.kind === PasswordlessResponseKind.RateLimitExceeded) { const time = setTimeout(() => { - setState( - (s): State => { - if (s.error) { - return {...s, error: null}; - } - return s; - }, - ); + setState((s): State => { + if (s.error) { + return {...s, error: null}; + } + return s; + }); }, Math.max(100, state.error.nextTokenTimestamp - Date.now())); return () => { clearTimeout(time); @@ -145,8 +143,8 @@ export default function usePasswordless({ }, [state.error]); switch (state.stage) { - case PasswordlessStage.EnteringEmail: - return { + case PasswordlessStage.EnteringEmail: { + const result: EnteringEmail = { ...state, isEmailValid: isEmail(state.email), onBlur: () => @@ -178,29 +176,27 @@ export default function usePasswordless({ ); try { const result = await createToken(state.email); - setState( - (st): State => { - if (st.stage !== PasswordlessStage.EnteringEmail) { - return st; - } - if (result.kind === PasswordlessResponseKind.CreatedToken) { - return { - stage: PasswordlessStage.EnteringPassCode, - email: st.email, - tokenID: result.tokenID, - passCode: '', - passCodeTouched: false, - submitting: false, - error: null, - }; - } else { - return { - ...st, - error: result, - }; - } - }, - ); + setState((st): State => { + if (st.stage !== PasswordlessStage.EnteringEmail) { + return st; + } + if (result.kind === PasswordlessResponseKind.CreatedToken) { + return { + stage: PasswordlessStage.EnteringPassCode, + email: st.email, + tokenID: result.tokenID, + passCode: '', + passCodeTouched: false, + submitting: false, + error: null, + }; + } else { + return { + ...st, + error: result, + }; + } + }); } finally { setState((st) => st.stage === PasswordlessStage.EnteringEmail @@ -210,8 +206,10 @@ export default function usePasswordless({ } }, }; - case PasswordlessStage.EnteringPassCode: - return { + return result; + } + case PasswordlessStage.EnteringPassCode: { + const result: EnteringPassCode = { ...state, acceptedCharacters: getRegExForEncoding(passCodeEncoding), isPassCodeValid: isPassCodeValid(state.passCode, { @@ -252,33 +250,31 @@ export default function usePasswordless({ tokenID: state.tokenID, passCode: state.passCode, }); - setState( - (st): State => { - if (st.stage !== PasswordlessStage.EnteringPassCode) { - return st; - } - if (result.kind === PasswordlessResponseKind.VerifiedToken) { - return { - stage: PasswordlessStage.VerifiedPassCode, - userID: result.userID, - }; - } else if ( - result.kind === PasswordlessResponseKind.ExpiredToken || - (result.kind === PasswordlessResponseKind.IncorrectPassCode && - result.attemptsRemaining === 0) - ) { - return { - ...DEFAULT_STATE, - error: result, - }; - } else { - return { - ...st, - error: result, - }; - } - }, - ); + setState((st): State => { + if (st.stage !== PasswordlessStage.EnteringPassCode) { + return st; + } + if (result.kind === PasswordlessResponseKind.VerifiedToken) { + return { + stage: PasswordlessStage.VerifiedPassCode, + userID: result.userID, + }; + } else if ( + result.kind === PasswordlessResponseKind.ExpiredToken || + (result.kind === PasswordlessResponseKind.IncorrectPassCode && + result.attemptsRemaining === 0) + ) { + return { + ...DEFAULT_STATE, + error: result, + }; + } else { + return { + ...st, + error: result, + }; + } + }); } finally { setState((st) => st.stage === PasswordlessStage.EnteringEmail @@ -288,6 +284,8 @@ export default function usePasswordless({ } }, }; + return result; + } case PasswordlessStage.VerifiedPassCode: return state; } diff --git a/packages/request-url/package.json b/packages/request-url/package.json index 3fabb15..b975e3a 100644 --- a/packages/request-url/package.json +++ b/packages/request-url/package.json @@ -8,7 +8,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/request-url", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/secure-hash/package.json b/packages/secure-hash/package.json index 10bb2d1..d1b842e 100644 --- a/packages/secure-hash/package.json +++ b/packages/secure-hash/package.json @@ -13,7 +13,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/secure-hash", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, @@ -22,4 +22,4 @@ "@types/bytes": "^3.0.0", "@types/ms": "^0.7.30" } -} \ No newline at end of file +} diff --git a/packages/send-message/package.json b/packages/send-message/package.json index 31f0d11..e81717f 100644 --- a/packages/send-message/package.json +++ b/packages/send-message/package.json @@ -14,7 +14,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/send-message", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/stripe/package.json b/packages/stripe/package.json index c74af4a..5b50c9f 100644 --- a/packages/stripe/package.json +++ b/packages/stripe/package.json @@ -14,7 +14,7 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/stripe", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/tumblr/package.json b/packages/tumblr/package.json index 48648d3..8483e17 100644 --- a/packages/tumblr/package.json +++ b/packages/tumblr/package.json @@ -11,9 +11,9 @@ "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/tumblr", "bugs": "https://github.com/ForbesLindesay/authentication/issues", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, "homepage": "https://www.atauthentication.com/docs/tumblr.html" -} \ No newline at end of file +} diff --git a/packages/twitter/package.json b/packages/twitter/package.json index 05c8cdc..072cfbf 100644 --- a/packages/twitter/package.json +++ b/packages/twitter/package.json @@ -11,7 +11,7 @@ }, "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/twitter", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/packages/types/package.json b/packages/types/package.json index c9d4899..d8a9bc4 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -6,7 +6,7 @@ "types": "./lib/index.d.ts", "scripts": {}, "repository": "https://github.com/ForbesLindesay/authentication/tree/master/packages/types", - "license": "GPL-3.0", + "license": "MIT", "publishConfig": { "access": "public" }, diff --git a/scripts/build-all.js b/scripts/build-all.js deleted file mode 100644 index 47d53fb..0000000 --- a/scripts/build-all.js +++ /dev/null @@ -1,30 +0,0 @@ -const {sync: spawnSync} = require('cross-spawn'); - -const onlyChanged = process.argv.includes('--only-changed'); -const extraArgs = process.argv - .slice(2) - .filter((arg) => arg !== '--only-changed'); -if (extraArgs.length) { - console.log('unrecognised args: ', extraArgs); -} -const scriptArgs = onlyChanged ? [] : ['--force']; -const params = [ - '--stages', - '--fast-exit', - '--concurrency', - 4, - // '--collect-logs', - '--bin', - 'node', - '-c', - '../../scripts/build', - ...scriptArgs, -]; -console.log('wsrun', params); -const result = spawnSync('wsrun', params, { - stdio: 'inherit', -}); - -if (result.status !== 0) { - process.exit(1); -} diff --git a/scripts/build.js b/scripts/build.js deleted file mode 100644 index 93cd9b2..0000000 --- a/scripts/build.js +++ /dev/null @@ -1,172 +0,0 @@ -// build the package in the current working directory - -process.env.NODE_ENV = 'production'; - -const {relative} = require('path'); -const {createHash} = require('crypto'); -const dirname = require('path').dirname; -const readFileSync = require('fs').readFileSync; -const unlinkSync = require('fs').unlinkSync; -const writeFileSync = require('fs').writeFileSync; -const {lsrSync} = require('lsr'); -const babel = require('@babel/core'); -const {sync: spawnSync} = require('cross-spawn'); -const mkdirp = require('mkdirp').sync; - -const cwd = process.cwd(); -const pkg = require(cwd + '/package.json'); - -// .last_build -const buildHash = createHash('sha512'); -const IGNORED_NAMES = ['.cache', 'lib', 'node_modules', '.last_build']; -lsrSync(cwd, { - filter(entry) { - return !IGNORED_NAMES.includes(entry.name); - }, -}).forEach((entry) => { - if (entry.isFile()) { - buildHash.update(readFileSync(entry.fullPath)); - } -}); -Object.keys(pkg.dependencies || {}) - .concat(Object.keys(pkg.devDependencies || {})) - .sort() - .filter((name) => name.startsWith('@authentication')) - .forEach((name) => { - buildHash.update( - readFileSync( - __dirname + '/../packages/' + name.split('/').pop() + '/.last_build', - ), - ); - }); - -const buildHashDigest = buildHash.digest('hex'); -if (!process.argv.includes('--force')) { - try { - const lastBuild = readFileSync(cwd + '/.last_build', 'utf8'); - if (lastBuild.trim() === buildHashDigest) { - process.exit(0); - } - } catch (ex) { - if (ex.code !== 'ENOENT') { - throw ex; - } - } -} - -console.log('building ' + pkg.name); - -lsrSync(cwd, { - filter: (e) => e.name !== 'node_modules' && e.name !== 'src', -}).forEach((entry) => { - if (!entry.isFile()) return; - try { - if (/\@autogenerated\b/.test(readFileSync(entry.fullPath, 'utf8'))) { - unlinkSync(entry.fullPath); - } - } catch (ex) { - if (ex.code !== 'EISDIR') { - throw ex; - } - } -}); - -// tsc -p tsconfig.build.json -const result = spawnSync('tsc', ['-p', 'tsconfig.build.json'], { - stdio: 'inherit', -}); -if (result.status !== 0) { - console.error('Failed to build ' + cwd.split('/').pop()); - process.exit(1); -} - -lsrSync(cwd + '/lib').forEach((entry) => { - if (entry.isFile() && /\.jsx?$/.test(entry.path)) { - const isPublic = /\@public\b/.test(readFileSync(entry.fullPath, 'utf8')); - const hasDefault = /\bexport default\b/.test( - readFileSync(entry.fullPath.replace(/\.jsx?$/, '.d.ts'), 'utf8'), - ); - writeFileSync( - entry.fullPath.replace(/\.jsx$/, '.js'), - babel.transformFileSync(entry.fullPath, { - babelrc: false, - presets: [ - pkg['@authentication/target'] === 'browser' - ? { - presets: [ - // Latest stable ECMAScript features - [ - require.resolve('@babel/preset-env'), - { - targets: { - // we don't support browsers without generator support - // because we "exclude" @babel/plugin-transform-regenerator - // adding it in would require our own custom version with - // a local version of regenerator-runtime - browsers: [ - '>0.2%', - 'not dead', - 'not ie 11', // 1.43% global market share, doesn't support generators - 'not chrome 49', // 0.52% global market share, doesn't support generators - ], - node: '10', - }, - bugfixes: true, - modules: 'cjs', - exclude: ['@babel/plugin-transform-regenerator'], - }, - ], - // JSX - require.resolve('@babel/preset-react'), - ], - } - : { - presets: [ - // ES features necessary for user's Node version - [ - require.resolve('@babel/preset-env'), - { - targets: { - node: '10', - }, - bugfixes: true, - modules: 'cjs', - exclude: ['@babel/plugin-transform-regenerator'], - }, - ], - // JSX - require.resolve('@babel/preset-react'), - ], - }, - ], - }).code, - ); - if (/\.jsx$/.test(entry.fullPath)) { - unlinkSync(entry.fullPath); - } - if (isPublic) { - mkdirp( - dirname(cwd + '/' + entry.path.substr(2).replace(/\.jsx$/, '.js')), - ); - let moduleName = relative( - dirname(entry.path), - `./lib/${entry.path - .substr(2) - .replace(/\.jsx?$/, '') - .replace(/\/index$/, '')}`, - ).replace(/\\/g, '/'); - if (moduleName[0] !== '.') moduleName = `./${moduleName}`; - writeFileSync( - cwd + '/' + entry.path.substr(2).replace(/\.jsx$/, '.js'), - `// @autogenerated\n\nmodule.exports = require('${moduleName}');\n`, - ); - writeFileSync( - cwd + '/' + entry.path.substr(2).replace(/\.jsx?$/, '.d.ts'), - `// @autogenerated\n\nexport * from '${moduleName}';${ - hasDefault ? `\nexport {default} from '${moduleName}';` : `` - }\n`, - ); - } - } -}); -writeFileSync(cwd + '/.last_build', buildHashDigest); diff --git a/scripts/postinstall.js b/scripts/postinstall.js index ab5e62c..ffea58a 100644 --- a/scripts/postinstall.js +++ b/scripts/postinstall.js @@ -8,19 +8,10 @@ const { const LICENSE = readFileSync(__dirname + '/../LICENSE.md'); -const tsconfigBuild = `{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "rootDir": "src", - "outDir": "lib" - } -}`; -const tsconfig = `{ - "extends": "../../tsconfig.json" -}`; +const packageNames = []; +const packageDocs = new Map([]); -const dependencies = require('../package.json').devDependencies; -readdirSync(__dirname + '/../packages').forEach(directory => { +readdirSync(__dirname + '/../packages').forEach((directory) => { if (!statSync(__dirname + '/../packages/' + directory).isDirectory()) { return; } @@ -28,14 +19,6 @@ readdirSync(__dirname + '/../packages').forEach(directory => { __dirname + '/../packages/' + directory + '/LICENSE.md', LICENSE, ); - writeFileSync( - __dirname + '/../packages/' + directory + '/tsconfig.json', - tsconfig, - ); - writeFileSync( - __dirname + '/../packages/' + directory + '/tsconfig.build.json', - tsconfigBuild, - ); let pkg = {}; try { pkg = JSON.parse( @@ -53,6 +36,7 @@ readdirSync(__dirname + '/../packages').forEach(directory => { if (!pkg.name) { pkg.name = '@authentication/' + directory; } + packageNames.push(pkg.name); if (!pkg.version) { pkg.version = '0.0.0'; } @@ -79,29 +63,99 @@ readdirSync(__dirname + '/../packages').forEach(directory => { if (existsSync(__dirname + '/../docs/' + directory + '.md')) { pkg.homepage = 'https://www.atauthentication.com/docs/' + directory + '.html'; + packageDocs.set(pkg.name, pkg.homepage); writeFileSync( __dirname + '/../packages/' + directory + '/README.md', - '# ' + - pkg.name + - '\n\n' + - 'For documentation, see ' + - 'https://www.atauthentication.com/docs/' + - directory + - '.html', + '# ' + pkg.name + '\n\n' + 'For documentation, see ' + pkg.homepage, ); } - pkg.license = 'GPL-3.0'; + pkg.license = 'MIT'; if (!pkg.private) { pkg.publishConfig = { access: 'public', }; } const after = JSON.stringify(pkg); - if (before === after) { - return; + if (before !== after) { + writeFileSync( + __dirname + '/../packages/' + directory + '/package.json', + JSON.stringify(pkg, null, ' ') + '\n', + ); } + const deps = [ + ...Object.keys(pkg.dependencies || {}), + ...Object.keys(pkg.devDependencies || {}), + ] + .filter((dep) => dep.startsWith(`@authentication/`)) + .map( + (dep) => + `\n {"path": ${JSON.stringify( + `../${dep.substr(`@authentication/`.length)}`, + )}},`, + ) + .join(``); writeFileSync( - __dirname + '/../packages/' + directory + '/package.json', - JSON.stringify(pkg, null, ' ') + '\n', + __dirname + '/../packages/' + directory + '/tsconfig.json', + `{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "composite": true, + "rootDir": "src", + "outDir": "lib", + "tsBuildInfoFile": "lib/tsconfig.tsbuildinfo", + }, + "references": ${deps.length ? `[${deps}\n ],` : `[],`} +} +`, ); }); + +writeFileSync( + `scripts/tsconfig.json`, + `{ + "extends": "../tsconfig.json", + "references": [${packageNames + .map( + (n) => + `\n {"path": ${JSON.stringify( + `../packages/${n.substr(`@authentication/`.length)}`, + )}},`, + ) + .join(``)} + ], +}`, +); +const [README_HEADER, _table, README_FOOTER] = readFileSync( + __dirname + '/../README.md', + 'utf8', +).split(''); + +const versionsTable = ` +Package Name | Version | Docs +-------------|---------|------ +${packageNames + .sort((a, b) => + packageDocs.has(a) && !packageDocs.has(b) + ? -1 + : !packageDocs.has(a) && packageDocs.has(b) + ? 1 + : a < b + ? -1 + : 1, + ) + .map( + (name) => + `${name} | [![NPM version](https://img.shields.io/npm/v/${name}?style=for-the-badge)](https://www.npmjs.com/package/${name}) | ${ + packageDocs.has(name) + ? `[${packageDocs.get(name)}](${packageDocs.get(name)})` + : `Not documented yet` + }`, + ) + .join('\n')} +`; +writeFileSync( + __dirname + '/../README.md', + [README_HEADER, versionsTable, README_FOOTER || ''].join( + '', + ), +); diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json new file mode 100644 index 0000000..d7df065 --- /dev/null +++ b/scripts/tsconfig.json @@ -0,0 +1,33 @@ +{ + "extends": "../tsconfig.json", + "references": [ + {"path": "../packages/auth-demo"}, + {"path": "../packages/base-error"}, + {"path": "../packages/cloudflare-ip"}, + {"path": "../packages/cookie"}, + {"path": "../packages/cookie-session"}, + {"path": "../packages/csrf-protection"}, + {"path": "../packages/facebook"}, + {"path": "../packages/generate-passcode"}, + {"path": "../packages/github"}, + {"path": "../packages/google"}, + {"path": "../packages/google-authenticator"}, + {"path": "../packages/is-email"}, + {"path": "../packages/keygrip"}, + {"path": "../packages/lock-by-id"}, + {"path": "../packages/oauth1"}, + {"path": "../packages/oauth2"}, + {"path": "../packages/passwordless"}, + {"path": "../packages/rate-limit"}, + {"path": "../packages/raw-cookie"}, + {"path": "../packages/react-passwordless"}, + {"path": "../packages/request-url"}, + {"path": "../packages/saml-protocol"}, + {"path": "../packages/secure-hash"}, + {"path": "../packages/send-message"}, + {"path": "../packages/stripe"}, + {"path": "../packages/tumblr"}, + {"path": "../packages/twitter"}, + {"path": "../packages/types"}, + ], +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 69a0633..d51399f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -940,6 +940,18 @@ exec-sh "^0.3.2" minimist "^1.2.0" +"@cspotcode/source-map-consumer@0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" + integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== + +"@cspotcode/source-map-support@0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" + integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== + dependencies: + "@cspotcode/source-map-consumer" "0.8.0" + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -1434,6 +1446,35 @@ webpack "^3.10.0" webpack-manifest-plugin "^1.3.2" +"@oozcitak/dom@1.15.10": + version "1.15.10" + resolved "https://registry.yarnpkg.com/@oozcitak/dom/-/dom-1.15.10.tgz#dca7289f2b292cff2a901ea4fbbcc0a1ab0b05c2" + integrity sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ== + dependencies: + "@oozcitak/infra" "1.0.8" + "@oozcitak/url" "1.0.4" + "@oozcitak/util" "8.3.8" + +"@oozcitak/infra@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@oozcitak/infra/-/infra-1.0.8.tgz#b0b089421f7d0f6878687608301fbaba837a7d17" + integrity sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg== + dependencies: + "@oozcitak/util" "8.3.8" + +"@oozcitak/url@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@oozcitak/url/-/url-1.0.4.tgz#ca8b1c876319cf5a648dfa1123600a6aa5cda6ba" + integrity sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw== + dependencies: + "@oozcitak/infra" "1.0.8" + "@oozcitak/util" "8.3.8" + +"@oozcitak/util@8.3.8": + version "8.3.8" + resolved "https://registry.yarnpkg.com/@oozcitak/util/-/util-8.3.8.tgz#10f65fe1891fd8cde4957360835e78fd1936bfdd" + integrity sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ== + "@sinonjs/commons@^1.7.0": version "1.8.1" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" @@ -1448,6 +1489,26 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@tsconfig/node10@^1.0.7": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" + integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== + +"@tsconfig/node12@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" + integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== + +"@tsconfig/node14@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" + integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== + +"@tsconfig/node16@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" + integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== + "@types/autoprefixer@^6.7.3": version "6.7.3" resolved "https://registry.yarnpkg.com/@types/autoprefixer/-/autoprefixer-6.7.3.tgz#1bd7c1e2bb0fcfde46011545ddc5f177d7efdd98" @@ -1533,6 +1594,11 @@ dependencies: "@types/babel-types" "*" +"@types/bluebird@^3.0.37": + version "3.5.36" + resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.36.tgz#00d9301d4dc35c2f6465a8aec634bb533674c652" + integrity sha512-HBNx4lhkxN7bx6P0++W8E289foSu8kO8GCk2unhuVggO+cE7rh9DhZUyPhUxNRG9m+5B5BTKxZQ5ZP92x/mx9Q== + "@types/body-parser@*", "@types/body-parser@^1.17.0": version "1.17.0" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c" @@ -1723,11 +1789,26 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.30.tgz#f6c38b7ecbbf698b0bbd138315a0f0f18954f85f" integrity sha512-OftRLCgAzJP7vmKn9by/GVjnf4hloz/pXNOwPo0vKGAfXI7GqWXJi9N2kRar4cP5s1dGwuwcagWqO6iHBTq1Mg== -"@types/node@*", "@types/node@^10.0.0", "@types/node@^7.0.31", "@types/node@^8.0.0", "@types/node@^8.0.33", "@types/node@^9.3.0": +"@types/node@*", "@types/node@^10.0.0": version "10.17.27" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.27.tgz#391cb391c75646c8ad2a7b6ed3bbcee52d1bdf19" integrity sha512-J0oqm9ZfAXaPdwNXMMgAhylw5fhmXkToJd06vuDUSAgEDZ/n/69/69UmyBZbc+zT34UnShuDSBqvim3SPnozJg== +"@types/node@^7.0.0", "@types/node@^7.0.31": + version "7.10.14" + resolved "https://registry.yarnpkg.com/@types/node/-/node-7.10.14.tgz#06fa7319b8131b969a8da4a14c487e6f28abacf7" + integrity sha512-29GS75BE8asnTno3yB6ubOJOO0FboExEqNJy4bpz0GSmW/8wPTNL4h9h63c6s1uTrOopCmJYe/4yJLh5r92ZUA== + +"@types/node@^8.0.0", "@types/node@^8.0.33": + version "8.10.66" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" + integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== + +"@types/node@^9.3.0": + version "9.6.61" + resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.61.tgz#29f124eddd41c4c74281bd0b455d689109fc2a2d" + integrity sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ== + "@types/nodemailer@^4.6.2": version "4.6.5" resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-4.6.5.tgz#8bb799202f8cfcc8200a1c1627f6a8a74fe71da6" @@ -1901,6 +1982,13 @@ "@types/rx-lite-time" "*" "@types/rx-lite-virtualtime" "*" +"@types/sax@0.0.28": + version "0.0.28" + resolved "https://registry.yarnpkg.com/@types/sax/-/sax-0.0.28.tgz#08bc2bed7697f97b0f345a0ba5d93e5f163c89e2" + integrity sha1-CLwr7XaX+XsPNFoLpdk+XxY8ieI= + dependencies: + "@types/node" "*" + "@types/semver@^5.4.0": version "5.5.0" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45" @@ -1982,6 +2070,14 @@ "@types/uglify-js" "*" source-map "^0.6.0" +"@types/xml-crypto@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@types/xml-crypto/-/xml-crypto-1.4.2.tgz#5ea7ef970f525ae8fe1e2ce0b3d40da1e3b279ae" + integrity sha512-1kT+3gVkeBDg7Ih8NefxGYfCApwZViMIs5IEs5AXF6Fpsrnf9CLAEIRh0DYb1mIcRcvysVbe27cHsJD6rJi36w== + dependencies: + "@types/node" "*" + xpath "0.0.27" + "@types/yargs-parser@*": version "15.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" @@ -2001,6 +2097,11 @@ dependencies: "@types/yargs-parser" "*" +"@xmldom/xmldom@^0.7.0": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz#09fa51e356d07d0be200642b0e4f91d8e6dd408d" + integrity sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A== + abab@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" @@ -2034,6 +2135,11 @@ acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + acorn@^4.0.3: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" @@ -2049,6 +2155,11 @@ acorn@^7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA== +acorn@^8.4.1: + version "8.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== + address@1.0.3, address@^1.0.1, address@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" @@ -2217,6 +2328,11 @@ anymatch@^3.0.3: normalize-path "^3.0.0" picomatch "^2.0.4" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -2337,6 +2453,11 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + integrity sha1-104bh+ev/A24qttwIfP+SBAasjQ= + assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -2369,6 +2490,13 @@ async@^1.5.2: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= +async@^2.0.1: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + async@^2.1.2, async@^2.3.0, async@^2.4.1, async@^2.5.0, async@~2.6.0: version "2.6.1" resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" @@ -2410,11 +2538,21 @@ autoprefixer@^7.1.5: postcss "^6.0.17" postcss-value-parser "^3.2.3" +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + integrity sha1-FDQt0428yU0OW4fXY81jYSwOeU8= + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= +aws4@^1.2.1: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + aws4@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" @@ -3214,16 +3352,28 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" +bl@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.0.3.tgz#fc5421a28fd4226036c3b3891a66a25bc64d226e" + integrity sha1-/FQhoo/UImA2w7OJGmaiW8ZNIm4= + dependencies: + readable-stream "~2.0.5" + bluebird@^3.1.1, bluebird@^3.4.7: version "3.5.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.2.tgz#1be0908e054a751754549c270489c1505d4ab15a" integrity sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg== -bluebird@^3.5.1: +bluebird@^3.4.1, bluebird@^3.5.1: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== +bluebird@~3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.2.2.tgz#164347d3fcab21eca9db849b4b856bec96041051" + integrity sha1-FkNH0/yrIeyp24SbS4Vr7JYEEFE= + bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" @@ -3262,6 +3412,13 @@ boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + integrity sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8= + dependencies: + hoek "2.x.x" + boxen@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" @@ -3619,6 +3776,11 @@ caseless@^0.12.0, caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + integrity sha1-cVuW6phBWTzDMGeSP17GDr2k99c= + center-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" @@ -3627,7 +3789,15 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@1.1.3, chalk@^1.1.3: +cget@~0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/cget/-/cget-0.0.5.tgz#34ea8fb3b9a6ceac5371f23767e3b390b8fbc481" + integrity sha1-NOqPs7mmzqxTcfI3Z+OzkLj7xIE= + dependencies: + bluebird "~3.2.2" + request "~2.69.0" + +chalk@1.1.3, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= @@ -3893,6 +4063,13 @@ colors@~1.1.2: resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" @@ -3905,11 +4082,23 @@ commander@2.17.x, commander@~2.17.1: resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== +commander@^2.9.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" integrity sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA== +commander@~2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= + dependencies: + graceful-readlink ">= 1.0.0" + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -4096,6 +4285,11 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -4125,6 +4319,13 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + integrity sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g= + dependencies: + boom "2.x.x" + crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -4276,6 +4477,28 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" +cxml@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/cxml/-/cxml-0.1.1.tgz#e30ce3624dd03b47d7652f8ac7523db79b6164f1" + integrity sha1-4wzjYk3QO0fXZS+Kx1I9t5thZPE= + dependencies: + "@types/bluebird" "^3.0.37" + "@types/node" "^7.0.0" + "@types/sax" "0.0.28" + bluebird "^3.4.7" + sax "~1.2.1" + +cxsd@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/cxsd/-/cxsd-0.1.1.tgz#1fb828267f03cda222d0e049ff74d6b80835ab44" + integrity sha1-H7goJn8DzaIi0OBJ/3TWuAg1q0Q= + dependencies: + bluebird "^3.4.1" + cget "~0.0.5" + commander "~2.9.0" + cxml "~0.1.0" + node-expat "~2.3.15" + d@1: version "1.0.0" resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" @@ -4493,6 +4716,11 @@ diff-sequences@^26.0.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.0.0.tgz#0760059a5c287637b842bd7085311db7060e88a6" integrity sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -5080,7 +5308,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@3, extend@~3.0.2: +extend@3, extend@~3.0.0, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== @@ -5353,6 +5581,15 @@ form-data@^2.2.0, form-data@~2.3.0, form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" +form-data@~1.0.0-rc3: + version "1.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c" + integrity sha1-rjFduaSQf6BlUCMEpm13M0de43w= + dependencies: + async "^2.0.1" + combined-stream "^1.0.5" + mime-types "^2.1.11" + forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" @@ -5421,6 +5658,25 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +funtypes@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/funtypes/-/funtypes-4.2.0.tgz#1e79b54353b621ff36e78f6d08fe97560f3ab543" + integrity sha512-DvOtjiKvkeuXGV0O8LQh9quUP3bSOTEQPGv537Sao8kDq2rDbg48UsSJ7wlBLPzR2Mn0pV7cyAiq5pYG1oUyCQ== + +generate-function@^2.0.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f" + integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ== + dependencies: + is-property "^1.0.2" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA= + dependencies: + is-property "^1.0.0" + gensync@^1.0.0-beta.1: version "1.0.0-beta.1" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" @@ -5611,6 +5867,11 @@ graceful-fs@^4.2.4: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -5633,6 +5894,16 @@ har-schema@^2.0.0: resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + integrity sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0= + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + har-validator@~5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.0.tgz#44657f5688a22cfd4b72486e81b3a3fb11742c29" @@ -5735,6 +6006,16 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" +hawk@~3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + integrity sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ= + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + he@1.2.x: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -5749,6 +6030,11 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + integrity sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0= + home-or-tmp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" @@ -5907,6 +6193,15 @@ http-response-object@^3.0.1: dependencies: "@types/node" "^9.3.0" +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + integrity sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8= + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -6352,6 +6647,22 @@ is-installed-globally@^0.1.0: global-dirs "^0.1.0" is-path-inside "^1.0.0" +is-my-ip-valid@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz#f7220d1146257c98672e6fba097a9f3f2d348442" + integrity sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg== + +is-my-json-valid@^2.12.4: + version "2.20.6" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz#a9d89e56a36493c77bda1440d69ae0dc46a08387" + integrity sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw== + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + is-my-ip-valid "^1.0.0" + jsonpointer "^5.0.0" + xtend "^4.0.0" + is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" @@ -6437,6 +6748,11 @@ is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= +is-property@^1.0.0, is-property@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ= + is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" @@ -6992,7 +7308,7 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.13.1: +js-yaml@3.14.0, js-yaml@^3.13.1: version "3.14.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== @@ -7146,6 +7462,11 @@ jsonify@~0.0.0: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= +jsonpointer@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.0.tgz#f802669a524ec4805fa7389eadbc9921d5dc8072" + integrity sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg== + jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -7462,6 +7783,11 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= +lodash@^4.17.14: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + lodash@^4.17.15, lodash@^4.17.19: version "4.17.19" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" @@ -7556,7 +7882,7 @@ make-dir@^3.0.0: dependencies: semver "^6.0.0" -make-error@1.x: +make-error@1.x, make-error@^1.1.1: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== @@ -7719,11 +8045,23 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" +mime-db@1.51.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== + "mime-db@>= 1.36.0 < 2", mime-db@~1.37.0: version "1.37.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== +mime-types@^2.1.11, mime-types@~2.1.7: + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + dependencies: + mime-db "1.51.0" + mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.19: version "2.1.21" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" @@ -7884,6 +8222,11 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== +nan@^2.13.2: + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== + nanoassert@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-1.1.0.tgz#4f3152e09540fde28c76f44b19bbcd1d5a42478d" @@ -7948,6 +8291,14 @@ node-base91@^0.3.4: resolved "https://registry.yarnpkg.com/node-base91/-/node-base91-0.3.4.tgz#f30c544401ef50fad50e2629e1dade74b41b1355" integrity sha1-8wxURAHvUPrVDiYp4dredLQbE1U= +node-expat@~2.3.15: + version "2.3.18" + resolved "https://registry.yarnpkg.com/node-expat/-/node-expat-2.3.18.tgz#d9e6949cecda15e131f14259b73dc7b9ed7bc560" + integrity sha512-9dIrDxXePa9HSn+hhlAg1wXkvqOjxefEbMclGxk2cEnq/Y3U7Qo5HNNqeo3fQ4bVmLhcdt3YN1TZy7WMZy4MHw== + dependencies: + bindings "^1.5.0" + nan "^2.13.2" + node-forge@0.7.5: version "0.7.5" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" @@ -8014,6 +8365,11 @@ node-releases@^1.1.58: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.59.tgz#4d648330641cec704bff10f8e4fe28e453ab8e8e" integrity sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw== +node-uuid@~1.4.7: + version "1.4.8" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" + integrity sha1-sEDrCSOWivq/jTL7HxfxFn/auQc= + nodemailer-build-attachment@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nodemailer-build-attachment/-/nodemailer-build-attachment-1.0.5.tgz#0018f40e539af29308694001e270dfdb6c498b42" @@ -8158,6 +8514,11 @@ nwsapi@^2.2.0: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== +oauth-sign@~0.8.0: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + integrity sha1-Rqarfwrq2N6unsBWV4C31O/rnUM= + oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" @@ -9098,10 +9459,10 @@ preserve@^0.2.0: resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= -prettier@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" - integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== +prettier@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" + integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== pretty-bytes@^4.0.2: version "4.0.2" @@ -9141,6 +9502,11 @@ private@^0.1.6, private@^0.1.8: resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= + process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" @@ -9298,6 +9664,11 @@ qs@6.5.2, qs@^6.4.0, qs@~6.5.1, qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +qs@~6.0.2: + version "6.0.4" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.0.4.tgz#51019d84720c939b82737e84556a782338ecea7b" + integrity sha1-UQGdhHIMk5uCc36EVWp4Izjs6ns= + query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -9550,6 +9921,18 @@ readable-stream@2, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stre string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@~2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + integrity sha1-j5A0HmilPMySh4jaz80Rs265t44= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + readdirp@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -9823,6 +10206,33 @@ request@^2.88.2: tunnel-agent "^0.6.0" uuid "^3.3.2" +request@~2.69.0: + version "2.69.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.69.0.tgz#cf91d2e000752b1217155c005241911991a2346a" + integrity sha1-z5HS4AB1KxIXFVwAUkGRGZGiNGo= + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + bl "~1.0.0" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~1.0.0-rc3" + har-validator "~2.0.6" + hawk "~3.1.0" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.0" + qs "~6.0.2" + stringstream "~0.0.4" + tough-cookie "~2.2.0" + tunnel-agent "~0.4.1" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -9997,7 +10407,7 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sax@~1.2.1: +sax@^1.2.4, sax@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -10296,6 +10706,13 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + integrity sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg= + dependencies: + hoek "2.x.x" + sockjs-client@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" @@ -10634,6 +11051,11 @@ string_decoder@~0.10.x: resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= +stringstream@~0.0.4: + version "0.0.6" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" + integrity sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA== + strip-ansi@3.0.1, strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -11019,6 +11441,11 @@ tough-cookie@^3.0.1: psl "^1.1.28" punycode "^2.1.1" +tough-cookie@~2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.2.2.tgz#c83a1830f4e5ef0b93ef2a3488e724f8de016ac7" + integrity sha1-yDoYMPTl7wuT7yo0iOck+N4Basc= + tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" @@ -11070,6 +11497,25 @@ ts-loader@^2.3.7: loader-utils "^1.0.2" semver "^5.0.1" +ts-node@^10.7.0: + version "10.7.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" + integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== + dependencies: + "@cspotcode/source-map-support" "0.7.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.0" + yn "3.1.1" + tsconfig@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" @@ -11097,6 +11543,11 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + integrity sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us= + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -11149,10 +11600,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^3.9.7: - version "3.9.7" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" - integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== +typescript@^4.5.5: + version "4.5.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" + integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== uglify-es@^3.3.9: version "3.3.9" @@ -11386,6 +11837,11 @@ uuid@^7.0.3: resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== +v8-compile-cache-lib@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8" + integrity sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA== + v8-to-istanbul@^4.1.3: version "4.1.4" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" @@ -11746,16 +12202,52 @@ xdg-basedir@^3.0.0: resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= +xml-crypto@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/xml-crypto/-/xml-crypto-2.1.3.tgz#6a7272b610ea3e4ea7f13e9e4876f1b20cbc32c8" + integrity sha512-MpXZwnn9JK0mNPZ5mnFIbNnQa+8lMGK4NtnX2FlJMfMWR60sJdFO9X72yO6ji068pxixzk53O7x0/iSKh6IhyQ== + dependencies: + "@xmldom/xmldom" "^0.7.0" + xpath "0.0.32" + +xml-js@^1.6.11: + version "1.6.11" + resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" + integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== + dependencies: + sax "^1.2.4" + xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== +xmlbuilder2@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/xmlbuilder2/-/xmlbuilder2-3.0.2.tgz#fc499688b35a916f269e7b459c2fa02bb5c0822a" + integrity sha512-h4MUawGY21CTdhV4xm3DG9dgsqyhDkZvVJBx88beqX8wJs3VgyGQgAn5VreHuae6unTQxh115aMK5InCVmOIKw== + dependencies: + "@oozcitak/dom" "1.15.10" + "@oozcitak/infra" "1.0.8" + "@oozcitak/util" "8.3.8" + "@types/node" "*" + js-yaml "3.14.0" + xmlchars@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +xpath@0.0.27: + version "0.0.27" + resolved "https://registry.yarnpkg.com/xpath/-/xpath-0.0.27.tgz#dd3421fbdcc5646ac32c48531b4d7e9d0c2cfa92" + integrity sha512-fg03WRxtkCV6ohClePNAECYsmpKKTv5L8y/X3Dn1hQrec3POx2jHZ/0P2qQ6HvsrU1BmeqXcof3NGGueG6LxwQ== + +xpath@0.0.32: + version "0.0.32" + resolved "https://registry.yarnpkg.com/xpath/-/xpath-0.0.32.tgz#1b73d3351af736e17ec078d6da4b8175405c48af" + integrity sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw== + xregexp@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" @@ -11891,3 +12383,8 @@ yargs@~3.10.0: cliui "^2.1.0" decamelize "^1.0.0" window-size "0.1.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== From 962c1e704ec254005aec5e063285431eff529362 Mon Sep 17 00:00:00 2001 From: Forbes Lindesay Date: Mon, 28 Mar 2022 15:52:54 +0100 Subject: [PATCH 2/2] ci: fix build script --- .circleci/config.yml | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cc85743..48b1282 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -26,7 +26,7 @@ refs: - &build run: name: Build - command: yarn run build:all + command: yarn run build - &test run: name: Test diff --git a/package.json b/package.json index 0649d43..3db34c1 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "postinstall": "node scripts/postinstall", "build": "tsc --build scripts", "build:watch": "yarn build --watch", - "prerelease": "yarn build:all", + "prerelease": "yarn build", "prettier:write": "prettier --write \"packages/*/src/**/*.{ts,tsx}\"", "test": "jest", "posttest": "wsrun --parallel --exclude-missing test",