diff --git a/packages/docusaurus-remark-plugin-npm2yarn/README.md b/packages/docusaurus-remark-plugin-npm2yarn/README.md index 5aa21477f648..e6dda3a3b4c5 100644 --- a/packages/docusaurus-remark-plugin-npm2yarn/README.md +++ b/packages/docusaurus-remark-plugin-npm2yarn/README.md @@ -34,15 +34,15 @@ module.exports = { { docs: { // ... - remarkPlugins: [require('@docusaurus/remark-plugin-npm2yarn')], + remarkPlugins: [[require('@docusaurus/remark-plugin-npm2yarn'), {sync: true}]], }, blog: { // ... - remarkPlugins: [require('@docusaurus/remark-plugin-npm2yarn')], + remarkPlugins: [[require('@docusaurus/remark-plugin-npm2yarn'), {sync: true}]], }, pages: { // ... - remarkPlugins: [require('@docusaurus/remark-plugin-npm2yarn')], + remarkPlugins: [[require('@docusaurus/remark-plugin-npm2yarn'), {sync: true}]], }, // ... }, @@ -51,3 +51,9 @@ module.exports = { // ... }; ``` + +## Options + +| Property | Type | Default | Description | +|----------|-----------|---------|---------------------------------------------------------------------------------------------------------------------------| +| `sync` | `boolean` | `false` | Syncing tab choices (yarn and npm). See https://v2.docusaurus.io/docs/markdown-features/#syncing-tab-choices for details. | diff --git a/packages/docusaurus-remark-plugin-npm2yarn/src/index.js b/packages/docusaurus-remark-plugin-npm2yarn/src/index.js index 3fb7dc662752..d447bb0429cb 100644 --- a/packages/docusaurus-remark-plugin-npm2yarn/src/index.js +++ b/packages/docusaurus-remark-plugin-npm2yarn/src/index.js @@ -10,14 +10,15 @@ const npmToYarn = require('npm-to-yarn'); // E.g. global install: 'npm i' -> 'yarn' const convertNpmToYarn = (npmCode) => npmToYarn(npmCode, 'yarn'); -const transformNode = (node) => { +const transformNode = (node, isSync) => { + const groupIdProp = isSync ? 'groupId="npm2yarn" ' : ''; const npmCode = node.value; const yarnCode = convertNpmToYarn(node.value); return [ { type: 'jsx', value: - ` { +module.exports = (options = {}) => { + const {sync = false} = options; let transformed = false; const transformer = (node) => { if (matchNode(node)) { transformed = true; - return transformNode(node); + return transformNode(node, sync); } if (Array.isArray(node.children)) { let index = 0; diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index b8eb89cb582c..80b10bd7f418 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -194,7 +194,9 @@ module.exports = { 'https://github.com/facebook/docusaurus/edit/master/website/', showLastUpdateAuthor: true, showLastUpdateTime: true, - remarkPlugins: [require('@docusaurus/remark-plugin-npm2yarn')], + remarkPlugins: [ + [require('@docusaurus/remark-plugin-npm2yarn'), {sync: true}], + ], disableVersioning: isVersioningDisabled, lastVersion: 'current', onlyIncludeVersions: