diff --git a/docs/sdk/api/typescriptSdk.md b/docs/sdk/api/typescriptSdk.md index 102785c48..d56fd7059 100644 --- a/docs/sdk/api/typescriptSdk.md +++ b/docs/sdk/api/typescriptSdk.md @@ -1,49 +1,156 @@ -# `typescript` +# TypeScript SDK Client v2 We provide a packages written in typescript for using our API -#### Note: +The **@commercetools/sdk-client-v2** is the TypeScript package that facilitates HTTP [requests](https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest) to the Platform, ML or History API by using a predefined set of middlewares. + +Unlike the Node.js sdk-client, the TypeScript client is a little different in its usage however, they are both very similar in every other aspect and it's also backward compatible with the Nodejs sdk-client. -Please checkout the new [TypeScript Client](#typescript-sdk-client-v2) that is more updated and actively maintained and also consider migrating. +## Issues and Contribution + +Please feel free to open an [issue](https://github.com/commercetools/commercetools-sdk-typescript/issues) or even a [PR](https://github.com/commercetools/commercetools-sdk-typescript/pulls) in this repository if you come across any issue while using this SDK. ![example usage](typescript_tutorial.gif) The source code for these packages are located in the [typescript](https://github.com/commercetools/commercetools-sdk-typescript/) repository. -## Install +## Usage examples + +### Browser environment + +```html + + +... +``` + +```html + +``` + +See full usage example [here](https://github.com/commercetools/commercetools-sdk-typescript/blob/master/examples/browser/browser.html) -#### Node.js +### Node environment ```bash npm install --save @commercetools/platform-sdk npm install --save @commercetools/importapi-sdk npm install --save @commercetools/ml-sdk +npm install --save @commercetools/sdk-client-v2 ``` -#### Browser +```ts +const { + ClientBuilder, + createAuthForClientCredentialsFlow, + createHttpClient, +} = require('@commercetools/sdk-client-v2') +const { createApiBuilderFromCtpClient } = require('@commercetools/platform-sdk') +const fetch = require('node-fetch') -```html - - -``` +const projectKey = 'mc-project-key' +const authMiddlewareOptions = { + host: 'https://auth.europe-west1.gcp.commercetools.com', + projectKey, + credentials: { + clientId: 'mc-client-id', + clientSecret: 'mc-client-secrets', + }, + oauthUri: '/oauth/token', // - optional custom oauthUri + scopes: [`manage_project:${projectKey}`], + fetch +} -#### Usage example +const httpMiddlewareOptions = { + host: 'https://api.europe-west1.gcp.commercetools.com', + fetch +} -```typescript -import { createAuthMiddlewareForClientCredentialsFlow } from '@commercetools/sdk-middleware-auth' -import { createHttpMiddleware } from '@commercetools/sdk-middleware-http' -import { createClient } from '@commercetools/sdk-client' +const client = new ClientBuilder() + .withProjectKey(projectKey) + .withMiddleware(createAuthForClientCredentialsFlow(authMiddlewareOptions)) + .withMiddleware(createHttpClient(httpMiddlewareOptions)) + .withUserAgentMiddleware() + .build() + +// or +const client = new ClientBuilder() + .withProjectKey(projectKey) + .withClientCredentialsFlow(authMiddlewareOptions) + .withHttpMiddleware(httpMiddlewareOptions) + .withUserAgentMiddleware() + .build() + +const apiRoot = createApiBuilderFromCtpClient(client) + +// calling the platform functions +// get project details +apiRoot + .withProjectKey({ + projectKey, + }) + .get() + .execute() + .then((x) => { + /*...*/ + }) + +// create a productType +apiRoot + .withProjectKey({ projectKey }) + .productTypes() + .post({ + body: { name: 'product-type-name', description: 'some description' }, + }) + .execute() + .then((x) => { + /*...*/ + }) + +// create a product +apiRoot + .withProjectKey({ projectKey }) + .products() + .post({ + body: { + name: { en: 'our-great-product-name' }, + productType: { + typeId: 'product-type', + id: 'some-product-type-id', + }, + slug: { en: 'some-slug' }, + }, + }) + .execute() + .then((x) => { + /*...*/ + }) + +// ----------------------------------------------------------------------- +// The sdk-client-v2 also have support for the old syntax import { - createApiBuilderFromCtpClient, - ApiRoot, -} from '@commercetools/platform-sdk' + createClient, + createHttpClient, + createAuthForClientCredentialsFlow, +} from '@commercetools/sdk-client-v2' +import { createApiBuilderFromCtpClient } from '@commercetools/platform-sdk' import fetch from 'node-fetch' const projectKey = 'some_project_key' -const authMiddleware = createAuthMiddlewareForClientCredentialsFlow({ +const authMiddleware = createAuthForClientCredentialsFlow({ host: 'https://auth.europe-west1.gcp.commercetools.com', projectKey, credentials: { @@ -53,7 +160,7 @@ const authMiddleware = createAuthMiddlewareForClientCredentialsFlow({ fetch, }) -const httpMiddleware = createHttpMiddleware({ +const httpMiddleware = createHttpClient({ host: 'https://api.europe-west1.gcp.commercetools.com', fetch, }) @@ -62,7 +169,7 @@ const ctpClient = createClient({ middlewares: [authMiddleware, httpMiddleware], }) -const apiRoot: ApiRoot = createApiBuilderFromCtpClient(ctpClient) +const apiRoot = createApiBuilderFromCtpClient(ctpClient) apiRoot .withProjectKey({ @@ -104,29 +211,9 @@ apiRoot }) ``` -# TypeScript SDK Client v2 +See an actual usage example [here](https://github.com/commercetools/commercetools-sdk-typescript/blob/master/examples/node/node.js) -The **@commercetools/sdk-client-v2** is the TypeScript package that facilitates HTTP [requests](https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest) to the Platform, ML or History API by using a predefined set of middlewares. - -Unlike the Node.js client, the TypeScript client is a little different in its usage however, they are both very similar in every other way and backwards compatible with the Nodejs client. - -### Install - -```bash -npm install --save @commercetools/sdk-client-v2 -or -yarn add @commercetools/sdk-client-v2 -``` - - - -### Usasge example +# Comprehensive usasge example Example on how to build a client using only the `defaultClient` class method. The default client enables client creation using very minimal configuratioin. @@ -135,7 +222,7 @@ Example on how to build a client using only the `defaultClient` class method. Th import { ClientBuilder, Client } from '@commercetools/sdk-client-v2' const projectKey = 'demo-key' -const oauthUri = 'https://auth.europe-west1.gcp.commercetools.com' +const authUri = 'https://auth.europe-west1.gcp.commercetools.com' const baseUri = 'https://api.europe-west1.gcp.commercetools.com' const credentials = { clientId: 'clientID12345', @@ -143,7 +230,7 @@ const credentials = { } const client: Client = new ClientBuilder() - .defaultClient(baseUri, credentials, oauthUri, projectKey) + .defaultClient(baseUri, credentials, authUri, projectKey) .build() ``` @@ -153,14 +240,14 @@ Example ```typescript const client: Client = new ClientBuilder() - .defaultClient(baseUri, credentials, oauthUri, projectKey) + .defaultClient(baseUri, credentials, authUri, projectKey) .withUserAgentMiddleware() .build() or const client: Client = new ClientBuilder() - .defaultClient(baseUri, credentials, oauthUri, projectKey) + .defaultClient(baseUri, credentials, authUri, projectKey) .withUserAgentMiddleware() .withLoggerMiddleware() .build() @@ -178,6 +265,7 @@ import { AuthMiddlewareOptions, HttpMiddlewareOptions, } from '@commercetools/sdk-client-v2' + // create the authMiddlewareOptions object const authMiddlewareOptions: AuthMiddlewareOptions = { host: 'https://auth.europe-west1.gcp.commercetools.com', @@ -186,7 +274,7 @@ const authMiddlewareOptions: AuthMiddlewareOptions = { clientId: 'clientID12345', clientSecret: 'clientSecret12345', }, - oauthUri: 'adminAuthUrl', + authUri: 'adminAuthUrl', scopes: ['manage_project:demo-key'], fetch, } @@ -313,7 +401,7 @@ const options: AuthMiddlewareOptions = { clientId: 'clientID12345', clientSecret: 'clientSecret12345', }, - oauthUri: 'admin-authUrl', + oauthUri: '/oauth/token', // - optional custom oauthUri scopes: ['manage_project:demo-key'], fetch: fetch } @@ -660,7 +748,7 @@ const authMiddlewareOptions: AuthMiddlewareOptions = { clientId: 'clientID12345', clientSecret: 'clientSecret12345', }, - oauthUri: 'adminAuthUrl', + oauthUri: '/oauth/token', // - optional custom oauthUri scopes: ['manage_project:demo-key'], fetch, } @@ -679,7 +767,7 @@ const Client: client = new clientBuilder() `-` -#### buid() +#### build() To build the client after calling the class methods of choice that adds the middleware, we invoke the `build()` as the last method on the `new ClientBuilder()` class instance. diff --git a/integration-tests/package.json b/integration-tests/package.json index 30bce4bc0..a5df1f102 100644 --- a/integration-tests/package.json +++ b/integration-tests/package.json @@ -19,6 +19,7 @@ "@commercetools/http-user-agent": "2.x", "@commercetools/inventories-exporter": "^3.0.23", "@commercetools/personal-data-erasure": "^3.1.0", + "@commercetools/platform-sdk": "^2.2.0", "@commercetools/price-exporter": "^3.0.23", "@commercetools/product-exporter": "^3.1.12", "@commercetools/product-json-to-csv": "^5.0.16", @@ -33,7 +34,6 @@ "@commercetools/sdk-middleware-user-agent": "^2.1.5", "@commercetools/state-importer": "^3.0.39", "@commercetools/sync-actions": "^4.9.6", - "@commercetools/platform-sdk": "^1.19.0", "bluebird": "^3.5.3", "common-tags": "^1.8.0", "csvtojson": "^2.0.8", diff --git a/packages/sdk-client/README.md b/packages/sdk-client/README.md index c6f3897f2..3a0003f10 100644 --- a/packages/sdk-client/README.md +++ b/packages/sdk-client/README.md @@ -4,6 +4,10 @@ SDK Client for usage of commercetools platform API https://commercetools.github.io/nodejs/sdk/api/sdkClient.html +## Note: + +This sdk is no longer actively maintained. Follow this [link](https://www.npmjs.com/package/@commercetools/sdk-client-v2) to migrate to the new TypeScript SDK + ## Install ```bash diff --git a/yarn.lock b/yarn.lock index d386314b8..b509b3a37 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1453,17 +1453,26 @@ exec-sh "^0.3.2" minimist "^1.2.0" -"@commercetools/platform-sdk@^1.19.0": - version "1.19.0" - resolved "https://registry.yarnpkg.com/@commercetools/platform-sdk/-/platform-sdk-1.19.0.tgz#e722c9b887feeb00f0df55581a07db15f99ffe4c" - integrity sha512-0YGqwuoyYrjtBZkFYUrI7Cc7RgJl9KSfKz+3iIOnwtKbWrk+fXC8gBbmHEpcMIeZDJbXGKM1FCwR7CBPnjCplQ== +"@commercetools/platform-sdk@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@commercetools/platform-sdk/-/platform-sdk-2.2.0.tgz#f2199909f8618552acad5a42a945ef94e1fcd0a7" + integrity sha512-sPQTAtW6MITdmt1j5noGhl0DOR2kEHFaF9I2iT+dF41zDmyDNzcTyQE1RgQBO4E9XXTkUhRjU2RhdPGVd8PgMA== dependencies: - "@commercetools/sdk-client" "^2.1.1" + "@commercetools/sdk-client-v2" "^1.0.1" "@commercetools/sdk-middleware-auth" "^6.0.4" "@commercetools/sdk-middleware-http" "^6.0.4" "@commercetools/sdk-middleware-logger" "^2.1.1" querystring "^0.2.1" +"@commercetools/sdk-client-v2@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@commercetools/sdk-client-v2/-/sdk-client-v2-1.0.2.tgz#51cd6967ec82be76c6dad70113a874e4a7d61edb" + integrity sha512-DPd81EKTqLTAKL2W985LaXacg02VgdZ0nnSKqSXBz2ObL64WTsrccDh/OnN2qkpj1NxddMqCUX2EVz8cy363MA== + dependencies: + buffer "^6.0.3" + node-fetch "^2.6.1" + querystring "^0.2.1" + "@commercetools/sdk-middleware-auth@^5.1.6": version "5.1.7" resolved "https://registry.yarnpkg.com/@commercetools/sdk-middleware-auth/-/sdk-middleware-auth-5.1.7.tgz#3035d51597e34ac4e2aad60b72036b361738506f" @@ -4151,6 +4160,11 @@ base64-js@^1.0.2: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + base@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" @@ -4389,6 +4403,14 @@ buffer@^5.1.0, buffer@^5.5.0: base64-js "^1.0.2" ieee754 "^1.1.4" +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + buffers@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" @@ -5801,10 +5823,15 @@ diff-sequences@^26.6.2: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== -diff@3.2.0, diff@5.0.0, diff@^4.0.2: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== +diff@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" + integrity sha1-yc45Okt8vQsFinJck98pkCeGj/k= + +diff@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== dir-glob@^3.0.1: version "3.0.1" @@ -5890,7 +5917,21 @@ domutils@^1.5.1: dom-serializer "0" domelementtype "1" -dot-prop@6.0.1, dot-prop@^4.2.1, dot-prop@^5.1.0, dot-prop@^5.3.0, dot-prop@^6.0.1: +dot-prop@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" + integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ== + dependencies: + is-obj "^1.0.0" + +dot-prop@^5.1.0, dot-prop@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dot-prop@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== @@ -7582,11 +7623,16 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -graceful-fs@4.2.8, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@~4.1.11: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== +graceful-fs@~4.1.11: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -7597,17 +7643,17 @@ grapheme-splitter@^1.0.4: resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== -growl@1.10.5, growl@1.9.2: - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== +growl@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + integrity sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8= growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= -handlebars@4.7.7, handlebars@^4.7.6: +handlebars@^4.7.6: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -7891,6 +7937,11 @@ ieee754@^1.1.4: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + iferr@^0.1.5, iferr@~0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" @@ -8376,7 +8427,7 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.1: +is-obj@^1.0.0, is-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= @@ -9929,11 +9980,21 @@ lodash.zipobject@^4.1.3: resolved "https://registry.yarnpkg.com/lodash.zipobject/-/lodash.zipobject-4.1.3.tgz#b399f5aba8ff62a746f6979bf20b214f964dbef8" integrity sha1-s5n1q6j/YqdG9peb8gshT5ZNvvg= -lodash@4.17.21, lodash@4.17.4, lodash@4.x, lodash@^3.10.1, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.7.0: +lodash@4.17.4: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + integrity sha1-eCA6TRwyiuHYbcpkYONptX9AVa4= + +lodash@4.x, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +lodash@^3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= + log-ok@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/log-ok/-/log-ok-0.1.1.tgz#bea3dd36acd0b8a7240d78736b5b97c65444a334" @@ -10270,7 +10331,12 @@ merge2@^1.2.3, merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -merge@2.1.1, merge@^1.2.1, merge@^2.1.0: +merge@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" + integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== + +merge@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/merge/-/merge-2.1.1.tgz#59ef4bf7e0b3e879186436e8481c06a6c162ca98" integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w== @@ -11116,7 +11182,7 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npm-user-validate@1.0.1, npm-user-validate@~1.0.0: +npm-user-validate@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.1.tgz#31428fc5475fe8416023f178c0ab47935ad8c561" integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== @@ -11308,7 +11374,7 @@ object-keys@^1.0.12, object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-path@0.11.8, object-path@^0.11.4: +object-path@^0.11.4: version "0.11.8" resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.8.tgz#ed002c02bbdd0070b78a27455e8ae01fc14d4742" integrity sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA== @@ -12393,13 +12459,6 @@ randomatic@^3.0.0: kind-of "^6.0.0" math-random "^1.0.1" -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - rc@^1.0.1, rc@^1.1.6: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" @@ -13247,12 +13306,10 @@ semver@~5.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= -serialize-javascript@6.0.0, serialize-javascript@^2.1.2: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" +serialize-javascript@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" + integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" @@ -15208,11 +15265,21 @@ xtend@^4.0.1, xtend@~4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@3.2.2, y18n@^3.2.1, y18n@^4.0.0, y18n@^5.0.5: +y18n@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"