From 789951f065e8bab739277a550692d7a983c337d4 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Wed, 8 Jul 2020 19:00:50 -0700 Subject: [PATCH] Display monopackage imports in the docs when building for production --- .../pages/react-spectrum/getting-started.mdx | 4 - .../dev/docs/pages/react-spectrum/theming.mdx | 2 +- .../docs/pages/react-spectrum/versioning.mdx | 2 +- packages/dev/docs/src/HeaderInfo.js | 9 +- .../MDXTransformer.js | 100 ++++++++++-- scripts/buildWebsite.js | 2 +- yarn.lock | 150 +----------------- 7 files changed, 104 insertions(+), 165 deletions(-) diff --git a/packages/dev/docs/pages/react-spectrum/getting-started.mdx b/packages/dev/docs/pages/react-spectrum/getting-started.mdx index ff481e4dcff..b4519961a46 100644 --- a/packages/dev/docs/pages/react-spectrum/getting-started.mdx +++ b/packages/dev/docs/pages/react-spectrum/getting-started.mdx @@ -53,14 +53,10 @@ along with application level settings like the locale. Inside the `Provider`, yo including all React Spectrum components. ```tsx example -// Import provider and theme import {Provider} from '@react-spectrum/provider'; import {theme} from '@react-spectrum/theme-default'; - -// Import the component you want to use import {Button} from '@react-spectrum/button'; -// Render it in your app! function App() { return ( diff --git a/packages/dev/docs/pages/react-spectrum/theming.mdx b/packages/dev/docs/pages/react-spectrum/theming.mdx index 53ffde2e527..5ccdd71f612 100644 --- a/packages/dev/docs/pages/react-spectrum/theming.mdx +++ b/packages/dev/docs/pages/react-spectrum/theming.mdx @@ -104,7 +104,7 @@ Import your desired theme and pass it to your application's `Provider` to apply import {theme} from '@react-spectrum/theme-default'; - {/* Your app here! */} + ``` diff --git a/packages/dev/docs/pages/react-spectrum/versioning.mdx b/packages/dev/docs/pages/react-spectrum/versioning.mdx index 23ce8baf896..ea999b16693 100644 --- a/packages/dev/docs/pages/react-spectrum/versioning.mdx +++ b/packages/dev/docs/pages/react-spectrum/versioning.mdx @@ -60,7 +60,7 @@ for that component in your app to point to that package instead of the mono-pack For example, you'd replace: ```tsx -import {Button} from '@adobe/react-spectrum/button'; +import {Button} from '@adobe/react-spectrum'; ``` with: diff --git a/packages/dev/docs/src/HeaderInfo.js b/packages/dev/docs/src/HeaderInfo.js index 22832282f0b..e1633e29a1f 100644 --- a/packages/dev/docs/src/HeaderInfo.js +++ b/packages/dev/docs/src/HeaderInfo.js @@ -27,13 +27,18 @@ export function HeaderInfo(props) { sourceData = [] } = props; + let importName = packageData.name; + if (process.env.DOCS_ENV === 'production') { + importName = '@adobe/react-spectrum'; + } + return ( <> - + @@ -42,7 +47,7 @@ export function HeaderInfo(props) { diff --git a/packages/dev/parcel-transformer-mdx-docs/MDXTransformer.js b/packages/dev/parcel-transformer-mdx-docs/MDXTransformer.js index 24e72541099..726dbc41b7b 100644 --- a/packages/dev/parcel-transformer-mdx-docs/MDXTransformer.js +++ b/packages/dev/parcel-transformer-mdx-docs/MDXTransformer.js @@ -20,6 +20,18 @@ const slug = require('remark-slug'); const util = require('mdast-util-toc'); const yaml = require('js-yaml'); const prettier = require('prettier'); +const {parse} = require('@babel/parser'); +const traverse = require('@babel/traverse').default; +const t = require('@babel/types'); + +const IMPORT_MAPPINGS = { + '@react-spectrum/theme-default': { + theme: 'defaultTheme' + }, + '@react-spectrum/theme-dark': { + theme: 'darkTheme' + } +}; module.exports = new Transformer({ async transform({asset, options}) { @@ -70,7 +82,7 @@ module.exports = new Transformer({ node.meta = 'example'; return [ - ...responsiveCode(node), + ...transformExample(node), { type: 'jsx', value: `
` @@ -88,7 +100,7 @@ module.exports = new Transformer({ ]; } - return responsiveCode(node); + return transformExample(node); } return [node]; @@ -287,7 +299,72 @@ export default {}; } }); -function responsiveCode(node) { +function transformExample(node) { + if (node.lang !== 'tsx') { + return responsiveCode(node); + } + + if (/^<(.|\n)*>$/m.test(node.value)) { + node.value = node.value.replace(/^(<(.|\n)*>)$/m, '$1'); + } + + let ast = parse(node.value, { + sourceType: 'module', + plugins: ['jsx', 'typescript'] + }); + + // Replace individual package imports in the code with monorepo imports if building for production + if (process.env.DOCS_ENV === 'production') { + let specifiers = []; + let last; + + traverse(ast, { + ImportDeclaration(path) { + if (path.node.source.value.startsWith('@react-spectrum')) { + let mapping = IMPORT_MAPPINGS[path.node.source.value]; + for (let specifier of path.node.specifiers) { + let mapped = mapping && mapping[specifier.imported.name]; + if (mapped && specifier.local.name === specifier.imported.name) { + path.scope.rename(specifier.local.name, mapped); + specifiers.push(mapped); + } else { + specifiers.push(specifier.imported.name); + } + } + + last = path.node; + path.remove(); + } + }, + Statement(path) { + path.skip(); + }, + Program: { + exit(path) { + if (specifiers.length > 0) { + let literal = t.stringLiteral('@adobe/react-spectrum'); + literal.raw = "'@adobe/react-spectrum'"; + + let decl = t.importDeclaration( + specifiers.map(s => t.importSpecifier(t.identifier(s), t.identifier(s))), + literal + ); + + decl.loc = last.loc; + decl.start = last.start; + decl.end = last.end; + + path.unshiftContainer('body', [decl]); + } + } + } + }); + } + + return responsiveCode(node, ast); +} + +function responsiveCode(node, ast) { if (!node.lang) { return [node]; } @@ -295,19 +372,19 @@ function responsiveCode(node) { let large = { ...node, meta: node.meta ? `${node.meta} large` : 'large', - value: formatCode(node, 80) + value: formatCode(node, ast, 80) }; let medium = { ...node, meta: node.meta ? `${node.meta} medium` : 'medium', - value: formatCode(large, 60) + value: formatCode(large, ast, 60) }; let small = { ...node, meta: node.meta ? `${node.meta} small` : 'small', - value: formatCode(medium, 25) + value: formatCode(medium, ast, 25) }; return [ @@ -317,18 +394,19 @@ function responsiveCode(node) { ]; } -function formatCode(node, printWidth = 80) { +function formatCode(node, ast, printWidth = 80) { let code = node.value; - if (code.split('\n').every(line => line.length <= printWidth)) { + if (!ast && code.split('\n').every(line => line.length <= printWidth)) { return code; } - if (/^<(.|\n)*>$/m.test(code)) { - code = code.replace(/^(<(.|\n)*>)$/m, '$1'); + let parser = node.lang === 'css' ? 'css' : 'babel-ts'; + if (ast) { + parser = () => ast; } code = prettier.format(code, { - parser: node.lang === 'css' ? 'css' : 'babel-ts', + parser, singleQuote: true, jsxBracketSameLine: true, bracketSpacing: false, diff --git a/scripts/buildWebsite.js b/scripts/buildWebsite.js index 3e6e2c7ce2d..bb1c837449c 100644 --- a/scripts/buildWebsite.js +++ b/scripts/buildWebsite.js @@ -49,7 +49,7 @@ async function build() { resolutions: packageJSON.resolutions, browserslist: packageJSON.browserslist, scripts: { - build: "PARCEL_WORKER_BACKEND=process parcel build 'docs/*/*/docs/*.mdx' 'packages/dev/docs/pages/**/*.mdx' --no-scope-hoist", + build: "DOCS_ENV=production PARCEL_WORKER_BACKEND=process parcel build 'docs/*/*/docs/*.mdx' 'packages/dev/docs/pages/**/*.mdx' --no-scope-hoist", postinstall: 'patch-package' } }; diff --git a/yarn.lock b/yarn.lock index 1df355b789d..64c33e66b83 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2605,14 +2605,6 @@ slice-ansi "^4.0.0" string-width "^4.2.0" -"@parcel/codeframe@^2.0.0-alpha.3": - version "2.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@parcel/codeframe/-/codeframe-2.0.0-alpha.3.tgz#6a8872a0c5818ed9ca2829c0633432f95a7b96f0" - integrity sha512-h2yGsG2HSkjxSwMHhCmFTYm+Xkle/Jk90kVAnjeJhIldo9gM/59oXCXxH7jyUQPm3SOXnUXpXgeNl1sb+0YNPA== - dependencies: - chalk "^2.4.2" - emphasize "^2.1.0" - "@parcel/config-default@2.0.0-nightly.330+0007639b": version "2.0.0-nightly.330" resolved "https://registry.yarnpkg.com/@parcel/config-default/-/config-default-2.0.0-nightly.330.tgz#a97ba49126dcef1a88b06b25b8f254939b64ad08" @@ -2698,24 +2690,11 @@ json-source-map "^0.6.1" nullthrows "^1.1.1" -"@parcel/diagnostic@^2.0.0-alpha.3": - version "2.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@parcel/diagnostic/-/diagnostic-2.0.0-alpha.3.tgz#f2134ff34026bbae92f3610794d9f3d5147e76c0" - integrity sha512-xK06FGUWXVmibtHo7f7Jd/7GhT6GKVealMtQ27Z5gAZvX251SzINclFqtvNqGI8mpKStXfpZBq9BtrMi8xC5zw== - dependencies: - json-source-map "^0.6.1" - nullthrows "^1.1.1" - "@parcel/events@2.0.0-nightly.330+0007639b": version "2.0.0-nightly.330" resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.0.0-nightly.330.tgz#954a1d8248ed463a8189d23528d87964053c9deb" integrity sha512-BhKRiFUeNxcXdf7U/qniz0hUZq4qfnX3PwLKs9dTnSUcBF3pNpKrG67ImBFcHZ5tTfhaf5O97umP0J5ZIXX59A== -"@parcel/events@^2.0.0-alpha.3": - version "2.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.0.0-alpha.3.tgz#54a8595aae668a05f6f69025f6e29468236bb637" - integrity sha512-W1WJ/H8E0PhVjXe2nLyMLKJvOWAcQDFG3h1XKAQ8B3a1vWBM6hRlJ7YBt5g6GLomchfCeaAIReOLXQHHjEYIXQ== - "@parcel/fs-write-stream-atomic@2.0.0-nightly.1952+0007639b": version "2.0.0-nightly.1952" resolved "https://registry.yarnpkg.com/@parcel/fs-write-stream-atomic/-/fs-write-stream-atomic-2.0.0-nightly.1952.tgz#f74e5e31797b7c1754eed2ed29a817d88c0819e9" @@ -2748,14 +2727,6 @@ "@parcel/diagnostic" "2.0.0-nightly.330+0007639b" "@parcel/events" "2.0.0-nightly.330+0007639b" -"@parcel/logger@^2.0.0-alpha.3": - version "2.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-2.0.0-alpha.3.tgz#5f4c08d341e03cdae35e8f799bb392e62d194170" - integrity sha512-LDGruv2uIFuD4+jlNGr1/7KifEjSLDwNNtZCSG7FV5VxOJzObNXNDAa6m6nlGoefAnQ1dZ32cySu4UOd1ho8pg== - dependencies: - "@parcel/diagnostic" "^2.0.0-alpha.3" - "@parcel/events" "^2.0.0-alpha.3" - "@parcel/markdown-ansi@2.0.0-nightly.330+0007639b": version "2.0.0-nightly.330" resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.0.0-nightly.330.tgz#0599f69d788c5e90e7e5230bf9891080f556b8f4" @@ -2763,13 +2734,6 @@ dependencies: chalk "^2.4.2" -"@parcel/markdown-ansi@^2.0.0-alpha.3": - version "2.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.0.0-alpha.3.tgz#49dd96035aa46963e6a3283ddd539d542252c963" - integrity sha512-DBU52hGOxEoEbcspavt7wmy5hhazWFLpGtRfJ7gFjvxJQfcvTHLr7tfyjtLGLTbBHlT/5FBGe2Bo+FDNqfAFwg== - dependencies: - chalk "^2.4.2" - "@parcel/namer-default@2.0.0-nightly.330+0007639b": version "2.0.0-nightly.330" resolved "https://registry.yarnpkg.com/@parcel/namer-default/-/namer-default-2.0.0-nightly.330.tgz#d3f23897808d659d94d966ca67129127ab047ff6" @@ -3347,31 +3311,6 @@ serialize-to-js "^3.0.1" terser "^3.7.3" -"@parcel/utils@latest": - version "2.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-2.0.0-alpha.3.tgz#7ae1e4decfb5e9466daf53995a595930eafcefa6" - integrity sha512-fovscp/gO4uGNf33XD7Ui1m/bD54BGKvbvn6pF9fw25kAv5v3U45ewE56FoVd1vNAQWV1G4zvt2KHIGe+HkEgw== - dependencies: - "@iarna/toml" "^2.2.0" - "@parcel/codeframe" "^2.0.0-alpha.3" - "@parcel/diagnostic" "^2.0.0-alpha.3" - "@parcel/logger" "^2.0.0-alpha.3" - "@parcel/markdown-ansi" "^2.0.0-alpha.3" - ansi-html "^0.0.7" - clone "^2.1.1" - deasync "^0.1.14" - fast-glob "^3.0.4" - is-glob "^4.0.0" - is-url "^1.2.2" - js-levenshtein "^1.1.6" - json5 "^1.0.1" - micromatch "^4.0.2" - node-forge "^0.8.1" - nullthrows "^1.1.1" - resolve "^1.12.0" - serialize-to-js "^1.1.1" - terser "^3.7.3" - "@parcel/watcher@2.0.0-alpha.7": version "2.0.0-alpha.7" resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.0-alpha.7.tgz#377f273adde0655c29b46d6249a08c0fa06dcfc5" @@ -7013,11 +6952,6 @@ cloneable-readable@^1.0.0: process-nextick-args "^2.0.0" readable-stream "^2.3.5" -clones@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/clones/-/clones-1.2.0.tgz#b34c872045446a9f264ccceb7731bca05c529b71" - integrity sha512-FXDYw4TjR8wgPZYui2LeTqWh1BLpfQ8lB6upMtlpDF6WlOOxghmTTxWyngdKTgozqBgKnHbTVwTE+hOHqAykuQ== - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -7234,7 +7168,7 @@ concat-with-sourcemaps@^1.0.0: dependencies: source-map "^0.6.1" -config-chain@^1.1.11, config-chain@^1.1.12: +config-chain@^1.1.11: version "1.1.12" resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== @@ -8059,14 +7993,6 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -deasync@^0.1.14: - version "0.1.20" - resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.20.tgz#546fd2660688a1eeed55edce2308c5cf7104f9da" - integrity sha512-E1GI7jMI57hL30OX6Ht/hfQU8DO4AuB9m72WFm4c38GNbUD4Q03//XZaOIHZiY+H1xUaomcot5yk2q/qIZQkGQ== - dependencies: - bindings "^1.5.0" - node-addon-api "^1.7.1" - debug-log@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" @@ -8678,16 +8604,6 @@ editions@^1.3.3: resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.4.tgz#3662cb592347c3168eb8e498a0ff73271d67f50b" integrity sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg== -editorconfig@^0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" - integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g== - dependencies: - commander "^2.19.0" - lru-cache "^4.1.5" - semver "^5.6.0" - sigmund "^1.0.1" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -9683,18 +9599,6 @@ fast-glob@^3.0.3, fast-glob@^3.1.0: merge2 "^1.3.0" micromatch "^4.0.2" -fast-glob@^3.0.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" - integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - fast-json-parse@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz#43e5c61ee4efa9265633046b770fb682a7577c4d" @@ -13072,17 +12976,6 @@ js-base64@^2.1.9: resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== -js-beautify@^1.8.9: - version "1.11.0" - resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.11.0.tgz#afb873dc47d58986360093dcb69951e8bcd5ded2" - integrity sha512-a26B+Cx7USQGSWnz9YxgJNMmML/QG2nqIaL7VVYPCXbqiKz8PN0waSNvroMtvAK6tY7g/wPdNWGEP+JTNIBr6A== - dependencies: - config-chain "^1.1.12" - editorconfig "^0.15.3" - glob "^7.1.3" - mkdirp "~1.0.3" - nopt "^4.0.3" - js-levenshtein@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" @@ -14169,7 +14062,7 @@ lru-cache@2: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" integrity sha1-bUUk6LlV+V1PW1iFHOId1y+06VI= -lru-cache@^4.0.1, lru-cache@^4.1.5: +lru-cache@^4.0.1: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -14886,11 +14779,6 @@ mkdirp@^0.5.1, mkdirp@~0.5.1: dependencies: minimist "^1.2.5" -mkdirp@~1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - modify-values@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" @@ -15069,11 +14957,6 @@ node-abi@^2.7.0: dependencies: semver "^5.4.1" -node-addon-api@^1.7.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" - integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== - node-addon-api@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" @@ -15254,14 +15137,6 @@ noop-logger@^0.1.1: dependencies: abbrev "1" -nopt@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" - integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== - dependencies: - abbrev "1" - osenv "^0.1.4" - nopt@~2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.1.2.tgz#6cccd977b80132a07731d6e8ce58c2c8303cf9af" @@ -15823,7 +15698,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@^0.1.4, osenv@^0.1.5: +osenv@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== @@ -16356,7 +16231,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: +picomatch@^2.0.4, picomatch@^2.0.5: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== @@ -19056,13 +18931,6 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -safer-eval@^1.3.0: - version "1.3.6" - resolved "https://registry.yarnpkg.com/safer-eval/-/safer-eval-1.3.6.tgz#ee51e3348c39fdc4117a47dfb4b69df56a2e40cf" - integrity sha512-DN9tBsZgtUOHODzSfO1nGCLhZtxc7Qq/d8/2SNxQZ9muYXZspSh1fO7HOsrf4lcelBNviAJLCxB/ggmG+jV1aw== - dependencies: - clones "^1.2.0" - sane@^4.0.3: version "4.1.0" resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" @@ -19259,14 +19127,6 @@ serialize-javascript@^2.1.2: resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== -serialize-to-js@^1.1.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/serialize-to-js/-/serialize-to-js-1.2.2.tgz#1a567b0c9bf557bc7d7b77b503dfae0a8218d15d" - integrity sha512-mUc8vA5iJghe+O+3s0YDGFLMJcqitVFk787YKiv8a4sf6RX5W0u81b+gcHrp15O0fFa010dRBVZvwcKXOWsL9Q== - dependencies: - js-beautify "^1.8.9" - safer-eval "^1.3.0" - serialize-to-js@^3.0.1: version "3.1.1" resolved "https://registry.yarnpkg.com/serialize-to-js/-/serialize-to-js-3.1.1.tgz#b3e77d0568ee4a60bfe66287f991e104d3a1a4ac" @@ -19444,7 +19304,7 @@ side-channel@^1.0.2: es-abstract "^1.17.0-next.1" object-inspect "^1.7.0" -sigmund@^1.0.1, sigmund@~1.0.0: +sigmund@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=
installyarn add {packageData.name}yarn add {importName}
version
usage - +