@hashicorp/react-components 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.circleci/config.yml +8 -0
- package/.github/pull_request_template.md +36 -0
- package/.github/workflows/publish.yml +181 -0
- package/README.md +79 -0
- package/__test-helpers/expect-throw.js +6 -0
- package/__test-helpers/extend-expect.js +1 -0
- package/__test-helpers/mocks/css-module-mock.js +1 -0
- package/__test-helpers/mocks/graphql-fragment-mock.js +1 -0
- package/__test-helpers/mocks/svg-mock.js +1 -0
- package/babel.config.js +5 -0
- package/jest.config.js +13 -0
- package/lerna.json +16 -0
- package/next.config.js +14 -0
- package/package.json +31 -0
- package/packages/accordion/LICENSE +373 -0
- package/packages/accordion/README.md +5 -0
- package/packages/accordion/index.js +21 -0
- package/packages/accordion/package-lock.json +13 -0
- package/packages/accordion/package.json +20 -0
- package/packages/accordion/partials/AccordionItems/fixtures/default.json +12 -0
- package/packages/accordion/partials/AccordionItems/icons/arrow-down.svg +1 -0
- package/packages/accordion/partials/AccordionItems/index.js +64 -0
- package/packages/accordion/partials/AccordionItems/style.css +2 -0
- package/packages/accordion/partials/AccordionItems/styles/content.css +47 -0
- package/packages/accordion/partials/AccordionItems/styles/index.css +72 -0
- package/packages/accordion/partials/Collapsible/index.js +87 -0
- package/packages/accordion/partials/Collapsible/style.css +10 -0
- package/packages/accordion/style.css +3 -0
- package/packages/accordion/styles/index.css +14 -0
- package/packages/alert/LICENSE +373 -0
- package/packages/alert/README.md +9 -0
- package/packages/alert/fragment.graphql +8 -0
- package/packages/alert/index.js +44 -0
- package/packages/alert/package.json +22 -0
- package/packages/alert/style.css +138 -0
- package/packages/alert-banner/LICENSE +373 -0
- package/packages/alert-banner/README.md +3 -0
- package/packages/alert-banner/close-icon.js +35 -0
- package/packages/alert-banner/fragment.graphql +8 -0
- package/packages/alert-banner/index.jsx +97 -0
- package/packages/alert-banner/package-lock.json +18 -0
- package/packages/alert-banner/package.json +26 -0
- package/packages/alert-banner/style.css +151 -0
- package/packages/button/LICENSE +373 -0
- package/packages/button/README.md +19 -0
- package/packages/button/fragment.graphql +6 -0
- package/packages/button/helpers/normalizeButtonTheme.js +49 -0
- package/packages/button/icons/arrow-right.svg.js +1 -0
- package/packages/button/icons/chevron-down.svg.js +1 -0
- package/packages/button/icons/download.svg.js +1 -0
- package/packages/button/icons/external-link.svg.js +1 -0
- package/packages/button/index.js +86 -0
- package/packages/button/package-lock.json +18 -0
- package/packages/button/package.json +21 -0
- package/packages/button/styles/index.css +122 -0
- package/packages/button/styles/variant-primary.css +232 -0
- package/packages/button/styles/variant-secondary.css +179 -0
- package/packages/button/styles/variant-tertiary-neutral.css +65 -0
- package/packages/button/styles/variant-tertiary.css +182 -0
- package/packages/call-to-action/LICENSE +373 -0
- package/packages/call-to-action/README.md +3 -0
- package/packages/call-to-action/index.js +67 -0
- package/packages/call-to-action/package-lock.json +27 -0
- package/packages/call-to-action/package.json +21 -0
- package/packages/call-to-action/style.css +1 -0
- package/packages/call-to-action/styles/_temp-spacing-tokens.css +33 -0
- package/packages/call-to-action/styles/common.css +27 -0
- package/packages/call-to-action/styles/index.css +4 -0
- package/packages/call-to-action/styles/variant-centered.css +44 -0
- package/packages/call-to-action/styles/variant-compact.css +46 -0
- package/packages/call-to-action/styles/variant-links.css +32 -0
- package/packages/callouts/LICENSE +373 -0
- package/packages/callouts/README.md +8 -0
- package/packages/callouts/index.js +67 -0
- package/packages/callouts/package-lock.json +33 -0
- package/packages/callouts/package.json +20 -0
- package/packages/callouts/partials/callout-item/fixtures/default.json +9 -0
- package/packages/callouts/partials/callout-item/index.js +71 -0
- package/packages/callouts/partials/callout-item/style.css +76 -0
- package/packages/callouts/style.css +1 -0
- package/packages/callouts/styles/_temp-reset.css +11 -0
- package/packages/callouts/styles/_temp-spacing-tokens.css +41 -0
- package/packages/callouts/styles/index.css +124 -0
- package/packages/case-study-slider/LICENSE +373 -0
- package/packages/case-study-slider/Logo.js +6 -0
- package/packages/case-study-slider/StatusBar.js +14 -0
- package/packages/case-study-slider/StatusBar.test.js +32 -0
- package/packages/case-study-slider/docs.mdx +144 -0
- package/packages/case-study-slider/fragment.graphql +33 -0
- package/packages/case-study-slider/index.js +229 -0
- package/packages/case-study-slider/index.test.js +279 -0
- package/packages/case-study-slider/package-lock.json +72 -0
- package/packages/case-study-slider/package.json +20 -0
- package/packages/case-study-slider/props.js +182 -0
- package/packages/case-study-slider/readme.md +7 -0
- package/packages/case-study-slider/style.css +176 -0
- package/packages/checkbox-input/LICENSE +373 -0
- package/packages/checkbox-input/index.js +55 -0
- package/packages/checkbox-input/package-lock.json +13 -0
- package/packages/checkbox-input/package.json +20 -0
- package/packages/checkbox-input/readme.md +19 -0
- package/packages/checkbox-input/style.css +110 -0
- package/packages/code-block/LICENSE +373 -0
- package/packages/code-block/README.md +9 -0
- package/packages/code-block/fragment.graphql +10 -0
- package/packages/code-block/img/clipboard.svg +1 -0
- package/packages/code-block/index.js +85 -0
- package/packages/code-block/languages/sentinel.js +71 -0
- package/packages/code-block/package-lock.json +68 -0
- package/packages/code-block/package.json +22 -0
- package/packages/code-block/style.css +162 -0
- package/packages/consent-manager/LICENSE +373 -0
- package/packages/consent-manager/README.md +30 -0
- package/packages/consent-manager/banner.js +39 -0
- package/packages/consent-manager/cookies.js +53 -0
- package/packages/consent-manager/dialog.js +286 -0
- package/packages/consent-manager/icn_close.js +19 -0
- package/packages/consent-manager/index.js +119 -0
- package/packages/consent-manager/integrations.js +92 -0
- package/packages/consent-manager/load.js +139 -0
- package/packages/consent-manager/package-lock.json +45 -0
- package/packages/consent-manager/package.json +24 -0
- package/packages/consent-manager/style.css +209 -0
- package/packages/content/LICENSE +373 -0
- package/packages/content/README.md +8 -0
- package/packages/content/index.js +9 -0
- package/packages/content/package.json +17 -0
- package/packages/content/style.css +322 -0
- package/packages/content-cta/LICENSE +373 -0
- package/packages/content-cta/README.md +3 -0
- package/packages/content-cta/docs.mdx +25 -0
- package/packages/content-cta/index.js +49 -0
- package/packages/content-cta/index.test.js +78 -0
- package/packages/content-cta/package-lock.json +27 -0
- package/packages/content-cta/package.json +20 -0
- package/packages/content-cta/props.js +41 -0
- package/packages/content-cta/stories/docs.mdx +0 -0
- package/packages/content-cta/stories/examples.stories.js +51 -0
- package/packages/content-cta/stories/with-knobs.stories.js +58 -0
- package/packages/content-cta/style.css +80 -0
- package/packages/docs-page/LICENSE +373 -0
- package/packages/docs-page/README.md +51 -0
- package/packages/docs-page/components.js +11 -0
- package/packages/docs-page/docs.mdx +71 -0
- package/packages/docs-page/img/github-logo.svg +1 -0
- package/packages/docs-page/index.js +75 -0
- package/packages/docs-page/index.test.js +18 -0
- package/packages/docs-page/package-lock.json +138 -0
- package/packages/docs-page/package.json +28 -0
- package/packages/docs-page/props.js +59 -0
- package/packages/docs-page/server.js +137 -0
- package/packages/docs-page/style.css +120 -0
- package/packages/docs-page/temporary_jump-to-section.js +64 -0
- package/packages/docs-sidenav/LICENSE +373 -0
- package/packages/docs-sidenav/README.md +7 -0
- package/packages/docs-sidenav/chevron-icon.js +18 -0
- package/packages/docs-sidenav/img/external.svg +7 -0
- package/packages/docs-sidenav/index.js +457 -0
- package/packages/docs-sidenav/menu-icon.js +14 -0
- package/packages/docs-sidenav/package-lock.json +26 -0
- package/packages/docs-sidenav/package.json +21 -0
- package/packages/docs-sidenav/style.css +302 -0
- package/packages/enterprise-alert/LICENSE +373 -0
- package/packages/enterprise-alert/README.md +9 -0
- package/packages/enterprise-alert/index.js +28 -0
- package/packages/enterprise-alert/package-lock.json +13 -0
- package/packages/enterprise-alert/package.json +23 -0
- package/packages/enterprise-alert/style.css +91 -0
- package/packages/featured-slider/LICENSE +373 -0
- package/packages/featured-slider/README.md +3 -0
- package/packages/featured-slider/StatusBar.js +14 -0
- package/packages/featured-slider/docs.mdx +60 -0
- package/packages/featured-slider/index.js +231 -0
- package/packages/featured-slider/index.test.js +59 -0
- package/packages/featured-slider/package-lock.json +66 -0
- package/packages/featured-slider/package.json +22 -0
- package/packages/featured-slider/props.js +82 -0
- package/packages/featured-slider/style.css +204 -0
- package/packages/hashi-stack-menu/LICENSE +373 -0
- package/packages/hashi-stack-menu/README.md +3 -0
- package/packages/hashi-stack-menu/assets/icon-dropdown.svg +1 -0
- package/packages/hashi-stack-menu/assets/logo.svg +1 -0
- package/packages/hashi-stack-menu/assets/product-icons/boundary-icon-color.svg +1 -0
- package/packages/hashi-stack-menu/assets/product-icons/consul-icon-color.svg +1 -0
- package/packages/hashi-stack-menu/assets/product-icons/nomad-icon-color.svg +1 -0
- package/packages/hashi-stack-menu/assets/product-icons/packer-icon-color.svg +1 -0
- package/packages/hashi-stack-menu/assets/product-icons/terraform-icon-color.svg +1 -0
- package/packages/hashi-stack-menu/assets/product-icons/vagrant-icon-color.svg +1 -0
- package/packages/hashi-stack-menu/assets/product-icons/vault-icon-color.svg +1 -0
- package/packages/hashi-stack-menu/assets/product-icons/waypoint-icon-color.svg +1 -0
- package/packages/hashi-stack-menu/browse-panel/browse-panel.module.css +33 -0
- package/packages/hashi-stack-menu/browse-panel/index.jsx +9 -0
- package/packages/hashi-stack-menu/data/index.js +125 -0
- package/packages/hashi-stack-menu/hashi-stack-menu.module.css +41 -0
- package/packages/hashi-stack-menu/index.jsx +51 -0
- package/packages/hashi-stack-menu/nav-item/index.jsx +100 -0
- package/packages/hashi-stack-menu/nav-item/nav-item.module.css +64 -0
- package/packages/hashi-stack-menu/package-lock.json +18 -0
- package/packages/hashi-stack-menu/package.json +17 -0
- package/packages/hashi-stack-menu/stack-group/index.jsx +16 -0
- package/packages/hashi-stack-menu/stack-group/stack-group.module.css +29 -0
- package/packages/hashi-stack-menu/stack-item/index.jsx +35 -0
- package/packages/hashi-stack-menu/stack-item/stack-item.module.css +58 -0
- package/packages/hashi-stack-menu/stack-menu-section/index.jsx +18 -0
- package/packages/hashi-stack-menu/stack-menu-section/stack-menu-section.module.css +26 -0
- package/packages/hashi-stack-menu/use-on-click-outside-dropdown.js +22 -0
- package/packages/head/LICENSE +373 -0
- package/packages/head/README.md +236 -0
- package/packages/head/index.d.ts +107 -0
- package/packages/head/index.js +66 -0
- package/packages/head/package.json +17 -0
- package/packages/hero/LICENSE +373 -0
- package/packages/hero/README.md +31 -0
- package/packages/hero/arrow-icon.js +24 -0
- package/packages/hero/carousel.js +153 -0
- package/packages/hero/fragment.graphql +55 -0
- package/packages/hero/heroLeadForm.js +107 -0
- package/packages/hero/index.js +129 -0
- package/packages/hero/package-lock.json +273 -0
- package/packages/hero/package.json +28 -0
- package/packages/hero/style.css +501 -0
- package/packages/image/LICENSE +373 -0
- package/packages/image/fragment.graphql +5 -0
- package/packages/image/index.js +81 -0
- package/packages/image/package-lock.json +33 -0
- package/packages/image/package.json +21 -0
- package/packages/image/readme.md +27 -0
- package/packages/inline-svg/LICENSE +373 -0
- package/packages/inline-svg/README.md +9 -0
- package/packages/inline-svg/docs.mdx +15 -0
- package/packages/inline-svg/index.js +23 -0
- package/packages/inline-svg/index.test.js +50 -0
- package/packages/inline-svg/package.json +30 -0
- package/packages/inline-svg/props.js +10 -0
- package/packages/learn-callout/LICENSE +373 -0
- package/packages/learn-callout/README.md +9 -0
- package/packages/learn-callout/docs.mdx +31 -0
- package/packages/learn-callout/index.js +57 -0
- package/packages/learn-callout/index.test.js +49 -0
- package/packages/learn-callout/props.js +47 -0
- package/packages/learn-callout/style.css +207 -0
- package/packages/link-wrap/LICENSE +373 -0
- package/packages/link-wrap/README.md +44 -0
- package/packages/link-wrap/index.js +40 -0
- package/packages/link-wrap/package-lock.json +5 -0
- package/packages/link-wrap/package.json +17 -0
- package/packages/logo-grid/LICENSE +373 -0
- package/packages/logo-grid/README.md +26 -0
- package/packages/logo-grid/fragment.graphql +17 -0
- package/packages/logo-grid/index.js +157 -0
- package/packages/logo-grid/package-lock.json +111 -0
- package/packages/logo-grid/package.json +21 -0
- package/packages/logo-grid/style.css +148 -0
- package/packages/product-downloader/LICENSE +373 -0
- package/packages/product-downloader/README.md +9 -0
- package/packages/product-downloader/index.js +102 -0
- package/packages/product-downloader/package-lock.json +103 -0
- package/packages/product-downloader/package.json +18 -0
- package/packages/product-downloader/partials/download-cards/index.jsx +125 -0
- package/packages/product-downloader/partials/download-cards/style.module.css +152 -0
- package/packages/product-downloader/partials/dropdown/index.jsx +58 -0
- package/packages/product-downloader/partials/dropdown/style.module.css +28 -0
- package/packages/product-downloader/partials/logos/fastly.svg +7 -0
- package/packages/product-downloader/partials/release-information/index.jsx +148 -0
- package/packages/product-downloader/partials/release-information/style.module.css +101 -0
- package/packages/product-downloader/style.module.css +100 -0
- package/packages/product-downloader/utils/downloader.js +136 -0
- package/packages/product-features-list/LICENSE +373 -0
- package/packages/product-features-list/README.md +3 -0
- package/packages/product-features-list/index.js +30 -0
- package/packages/product-features-list/package-lock.json +42 -0
- package/packages/product-features-list/package.json +20 -0
- package/packages/product-features-list/style.css +90 -0
- package/packages/search/LICENSE +373 -0
- package/packages/search/README.md +188 -0
- package/packages/search/hits.js +196 -0
- package/packages/search/img/return.svg.js +1 -0
- package/packages/search/img/search-legend-enter.svg.js +1 -0
- package/packages/search/img/search-legend-escape.svg.js +1 -0
- package/packages/search/img/search-legend-page.svg.js +1 -0
- package/packages/search/img/search-x.svg.js +1 -0
- package/packages/search/img/search.svg.js +1 -0
- package/packages/search/img/slash-search-toggle.js +17 -0
- package/packages/search/index.js +60 -0
- package/packages/search/legend.js +32 -0
- package/packages/search/package-lock.json +931 -0
- package/packages/search/package.json +29 -0
- package/packages/search/provider.js +81 -0
- package/packages/search/search-box.js +139 -0
- package/packages/search/style.css +366 -0
- package/packages/search/tools.js +166 -0
- package/packages/section-header/LICENSE +373 -0
- package/packages/section-header/README.md +13 -0
- package/packages/section-header/fragment.graphql +5 -0
- package/packages/section-header/index.js +42 -0
- package/packages/section-header/package-lock.json +18 -0
- package/packages/section-header/package.json +20 -0
- package/packages/section-header/style.css +18 -0
- package/packages/select-input/LICENSE +373 -0
- package/packages/select-input/README.md +1 -0
- package/packages/select-input/img/dropdown-arrow.svg +1 -0
- package/packages/select-input/index.js +80 -0
- package/packages/select-input/package-lock.json +70 -0
- package/packages/select-input/package.json +19 -0
- package/packages/select-input/style.css +88 -0
- package/packages/subnav/LICENSE +373 -0
- package/packages/subnav/README.md +85 -0
- package/packages/subnav/helpers/globalThis.js +9 -0
- package/packages/subnav/helpers/traverse/index.js +34 -0
- package/packages/subnav/helpers/useNavRef.js +16 -0
- package/packages/subnav/helpers/useOverflowRef.js +76 -0
- package/packages/subnav/helpers/useStuckRef.js +43 -0
- package/packages/subnav/icons/boundary-logo-color.svgr.js +32 -0
- package/packages/subnav/icons/chevron-down.svg.js +3 -0
- package/packages/subnav/icons/consul-logo-color.svgr.js +44 -0
- package/packages/subnav/icons/hcp-logo-black-white.svgr.js +29 -0
- package/packages/subnav/icons/nomad-logo-color.svgr.js +50 -0
- package/packages/subnav/icons/packer-logo-color.svgr.js +40 -0
- package/packages/subnav/icons/terraform-logo-color.svgr.js +44 -0
- package/packages/subnav/icons/vagrant-logo-color.svgr.js +38 -0
- package/packages/subnav/icons/vault-logo-color.svgr.js +32 -0
- package/packages/subnav/icons/waypoint-logo-color.svgr.js +28 -0
- package/packages/subnav/index.js +107 -0
- package/packages/subnav/package-lock.json +56 -0
- package/packages/subnav/package.json +25 -0
- package/packages/subnav/partials/CtaLinks/github-stars-link/formatStarCount/index.js +17 -0
- package/packages/subnav/partials/CtaLinks/github-stars-link/index.js +71 -0
- package/packages/subnav/partials/CtaLinks/github-stars-link/parseGithubUrl/index.js +25 -0
- package/packages/subnav/partials/CtaLinks/github-stars-link/style.css +78 -0
- package/packages/subnav/partials/CtaLinks/icons/github-logo.js +14 -0
- package/packages/subnav/partials/CtaLinks/icons/github.svg.js +2 -0
- package/packages/subnav/partials/CtaLinks/icons/star.js +14 -0
- package/packages/subnav/partials/CtaLinks/index.js +48 -0
- package/packages/subnav/partials/CtaLinks/style.css +32 -0
- package/packages/subnav/partials/DropdownTrigger/index.js +20 -0
- package/packages/subnav/partials/DropdownTrigger/style.css +27 -0
- package/packages/subnav/partials/MenuItemsDefault/index.js +131 -0
- package/packages/subnav/partials/MenuItemsDefault/style.css +63 -0
- package/packages/subnav/partials/MenuItemsOverflow/index.js +117 -0
- package/packages/subnav/partials/MenuItemsOverflow/style.css +38 -0
- package/packages/subnav/partials/TitleLink/index.js +40 -0
- package/packages/subnav/partials/TitleLink/style.css +21 -0
- package/packages/subnav/style.css +6 -0
- package/packages/subnav/styles/_temp-g-svg.css +22 -0
- package/packages/subnav/styles/_temp-resets.css +15 -0
- package/packages/subnav/styles/index.css +103 -0
- package/packages/tabbed-accordion/LICENSE +373 -0
- package/packages/tabbed-accordion/README.md +3 -0
- package/packages/tabbed-accordion/fixtures/base.json +44 -0
- package/packages/tabbed-accordion/index.js +27 -0
- package/packages/tabbed-accordion/package-lock.json +27 -0
- package/packages/tabbed-accordion/package.json +19 -0
- package/packages/tabbed-accordion/style/_temp-spacing-tokens.css +36 -0
- package/packages/tabbed-accordion/style/index.css +22 -0
- package/packages/tabbed-accordion/style.css +1 -0
- package/packages/tabs/LICENSE +373 -0
- package/packages/tabs/README.md +31 -0
- package/packages/tabs/index.js +41 -0
- package/packages/tabs/package-lock.json +73 -0
- package/packages/tabs/package.json +18 -0
- package/packages/tabs/partials/TabTriggers/helpers/smoothScroll.js +77 -0
- package/packages/tabs/partials/TabTriggers/icons/chevron-right_black.svg.js +1 -0
- package/packages/tabs/partials/TabTriggers/index.js +143 -0
- package/packages/tabs/partials/TabTriggers/partials/TabTrigger/icons/tooltip.svg.js +1 -0
- package/packages/tabs/partials/TabTriggers/partials/TabTrigger/index.js +37 -0
- package/packages/tabs/partials/TabTriggers/partials/TabTrigger/style.css +75 -0
- package/packages/tabs/partials/TabTriggers/style.css +152 -0
- package/packages/tabs/style.css +67 -0
- package/packages/terminal/LICENSE +373 -0
- package/packages/terminal/README.md +9 -0
- package/packages/terminal/Terminal.module.css +146 -0
- package/packages/terminal/index.jsx +46 -0
- package/packages/terminal/package.json +17 -0
- package/packages/text-input/LICENSE +373 -0
- package/packages/text-input/README.md +24 -0
- package/packages/text-input/index.js +42 -0
- package/packages/text-input/package-lock.json +13 -0
- package/packages/text-input/package.json +19 -0
- package/packages/text-input/style.css +68 -0
- package/packages/text-split/LICENSE +373 -0
- package/packages/text-split/README.md +3 -0
- package/packages/text-split/index.js +66 -0
- package/packages/text-split/package-lock.json +35 -0
- package/packages/text-split/package.json +20 -0
- package/packages/text-split/partials/button-group/index.js +40 -0
- package/packages/text-split/partials/button-group/style.css +28 -0
- package/packages/text-split/partials/checkbox-list/icons/check-circle.svg.jsx +39 -0
- package/packages/text-split/partials/checkbox-list/index.js +28 -0
- package/packages/text-split/partials/checkbox-list/style.css +59 -0
- package/packages/text-split/style.css +1 -0
- package/packages/text-split/styles/_temp-spacing-tokens.css +37 -0
- package/packages/text-split/styles/index.css +86 -0
- package/packages/text-split-with-code/LICENSE +373 -0
- package/packages/text-split-with-code/README.md +13 -0
- package/packages/text-split-with-code/index.js +29 -0
- package/packages/text-split-with-code/package-lock.json +117 -0
- package/packages/text-split-with-code/package.json +21 -0
- package/packages/text-split-with-code/style.css +42 -0
- package/packages/text-split-with-image/LICENSE +373 -0
- package/packages/text-split-with-image/README.md +12 -0
- package/packages/text-split-with-image/index.js +11 -0
- package/packages/text-split-with-image/package-lock.json +75 -0
- package/packages/text-split-with-image/package.json +17 -0
- package/packages/text-split-with-logo-grid/LICENSE +373 -0
- package/packages/text-split-with-logo-grid/README.md +8 -0
- package/packages/text-split-with-logo-grid/index.js +63 -0
- package/packages/text-split-with-logo-grid/package-lock.json +90 -0
- package/packages/text-split-with-logo-grid/package.json +18 -0
- package/packages/text-split-with-logo-grid/style.css +88 -0
- package/packages/toggle/LICENSE +373 -0
- package/packages/toggle/index.js +22 -0
- package/packages/toggle/package-lock.json +5 -0
- package/packages/toggle/package.json +17 -0
- package/packages/toggle/readme.md +7 -0
- package/packages/toggle/style.css +35 -0
- package/packages/vertical-text-block-list/LICENSE +373 -0
- package/packages/vertical-text-block-list/README.md +15 -0
- package/packages/vertical-text-block-list/index.js +54 -0
- package/packages/vertical-text-block-list/package-lock.json +60 -0
- package/packages/vertical-text-block-list/package.json +22 -0
- package/packages/vertical-text-block-list/style.css +104 -0
- package/pages/_app.jsx +5 -0
- package/pages/global.css +43 -0
- package/pages/index.jsx +16 -0
- package/prettier.config.js +4 -0
- package/scripts/release-check-branch.sh +15 -0
- package/scripts/release-check-npm-auth.sh +39 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
🎟️ [Asana Task]()
|
|
2
|
+
🔍 [Preview Link](https://react-components-git-{branch-slug}.hashicorp.vercel.app)
|
|
3
|
+
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Description
|
|
7
|
+
|
|
8
|
+
Describe this pull request: what is it aiming to achieve? What should someone reviewing this PR know? If this PR includes visual changes, consider including before / after screenshots, or an animated gif showing interactions.
|
|
9
|
+
|
|
10
|
+
## Release Information
|
|
11
|
+
|
|
12
|
+
Please select one (**required**)
|
|
13
|
+
|
|
14
|
+
- [ ] **Major** (This PR introduces a breaking (incompatible API) change)
|
|
15
|
+
- [ ] **Minor** (This PR adds functionality but it backwards-compatible)
|
|
16
|
+
- [ ] **Patch** (This PR adds a backwards-compatible bug fix)
|
|
17
|
+
|
|
18
|
+
<details>
|
|
19
|
+
<summary>Release Notes (<strong>required</strong>)</summary>
|
|
20
|
+
<!-- This repo requires release notes on each PR in order to publish a package. Remove this comment and replace with release notes that will be reflected in the GitHub release notes. -->
|
|
21
|
+
</details>
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
### PR Checklist 🚀
|
|
26
|
+
|
|
27
|
+
Items in this checklist may not may not apply to your PR, but please consider each item carefully.
|
|
28
|
+
|
|
29
|
+
- [ ] Add Asana and Preview links above.
|
|
30
|
+
- [ ] Conduct thorough self-review.
|
|
31
|
+
- [ ] Add or update tests as appropriate.
|
|
32
|
+
- [ ] Write a useful description (above) to give reviewers appropriate context.
|
|
33
|
+
- [ ] Add release notes to the appropriate section (above).
|
|
34
|
+
- [ ] Conduct reasonable cross browser testing for both compatibility and responsive behavior (We have a [Cross Browser Testing](https://crossbrowsertesting.com) account for this, if you don't have access, just ask!).
|
|
35
|
+
- [ ] Conduct reasonable accessibility review (use the [WAS](https://accessible.org/Web-Accessibility-Standards-WAS-2.pdf) as a guide or an [axe browser plugin](https://www.deque.com/axe/) until we establish more formal checks).
|
|
36
|
+
- [ ] Identify (in the description above) and document (add Asana tasks on [this board](https://app.asana.com/0/1100423001970639/list)) any technical debt that you're aware of, but are not addressing as part of this PR.
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
name: HashiBot Package Publisher
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
types: [opened, synchronize, ready_for_review, edited, closed]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
scan_changed_packages:
|
|
11
|
+
name: Scan changed packages
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
outputs:
|
|
14
|
+
packageName: ${{ steps.parse_changed.outputs.package_name }}
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v2
|
|
17
|
+
with:
|
|
18
|
+
fetch-depth: 0
|
|
19
|
+
- name: Parse changed packages
|
|
20
|
+
id: parse_changed
|
|
21
|
+
run: |
|
|
22
|
+
echo "::set-output name=package_name::$( echo $(npx lerna changed --json || echo "{}") | jq -r 'if . | length == 1 then .[0].name | tostring else "N/A" end' )"
|
|
23
|
+
|
|
24
|
+
add_comment:
|
|
25
|
+
name: Add warning comment to PR author
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
needs: scan_changed_packages
|
|
28
|
+
if: ${{ needs.scan_changed_packages.outputs.packageName == 'N/A' }}
|
|
29
|
+
steps:
|
|
30
|
+
- name: Comment on PR
|
|
31
|
+
uses: actions/github-script@v2
|
|
32
|
+
with:
|
|
33
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
34
|
+
script: |
|
|
35
|
+
const { data: comments } = await github.issues.listComments({
|
|
36
|
+
owner: context.payload.repository.owner.login,
|
|
37
|
+
repo: context.payload.repository.name,
|
|
38
|
+
issue_number: context.payload.pull_request.number,
|
|
39
|
+
})
|
|
40
|
+
const body = "This pull request cannot be automatically published as we've detected multiple lerna packages have been affected. Please publish manually."
|
|
41
|
+
const dup = comments.find(c => c.body === body)
|
|
42
|
+
if (dup) {
|
|
43
|
+
core.warning('This comment already exists')
|
|
44
|
+
process.exit(0)
|
|
45
|
+
}
|
|
46
|
+
await github.issues.createComment({
|
|
47
|
+
owner: context.payload.repository.owner.login,
|
|
48
|
+
repo: context.payload.repository.name,
|
|
49
|
+
issue_number: context.payload.pull_request.number,
|
|
50
|
+
body
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
log_package:
|
|
54
|
+
name: Log package name
|
|
55
|
+
runs-on: ubuntu-latest
|
|
56
|
+
needs: scan_changed_packages
|
|
57
|
+
if: ${{ needs.scan_changed_packages.outputs.packageName != 'N/A' }}
|
|
58
|
+
steps:
|
|
59
|
+
- name: Log package name
|
|
60
|
+
env:
|
|
61
|
+
PACKAGE_NAME: ${{ needs.scan_changed_packages.outputs.packageName }}
|
|
62
|
+
run: |
|
|
63
|
+
echo "Change detected in package: $PACKAGE_NAME"
|
|
64
|
+
|
|
65
|
+
verify_description:
|
|
66
|
+
name: Verify description
|
|
67
|
+
runs-on: ubuntu-latest
|
|
68
|
+
needs: scan_changed_packages
|
|
69
|
+
outputs:
|
|
70
|
+
version: ${{ steps.version.outputs.version }}
|
|
71
|
+
releaseNotes: ${{ steps.release_notes.outputs.releaseNotes }}
|
|
72
|
+
if: ${{ needs.scan_changed_packages.outputs.packageName != 'N/A' }}
|
|
73
|
+
steps:
|
|
74
|
+
- name: Get semver keyword
|
|
75
|
+
id: version
|
|
76
|
+
uses: actions/github-script@v2
|
|
77
|
+
with:
|
|
78
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
79
|
+
script: |
|
|
80
|
+
// Get contents of PR description
|
|
81
|
+
const prBody = context.payload.pull_request.body
|
|
82
|
+
// Parse lines of description
|
|
83
|
+
const prBodyLines = prBody.split('\n').map(x => x.trim()).filter(Boolean)
|
|
84
|
+
// Ensure version has been selected
|
|
85
|
+
const selectedVersion = prBodyLines.filter(x => x.match(/^-\s\[x\].*(major|minor|patch).*$/i))
|
|
86
|
+
if (!selectedVersion.length) return core.setFailed('Failed to find required version information! Ensure a SemVer category is selected in the pull request description.')
|
|
87
|
+
const [version] = /(major|minor|patch)/i.exec(selectedVersion[0])
|
|
88
|
+
if (!version) return core.setFailed('There was an error parsing the version. Please ensure an appropriate version is checked in the pull request description.')
|
|
89
|
+
core.setOutput("version", version)
|
|
90
|
+
- name: Get release notes
|
|
91
|
+
id: release_notes
|
|
92
|
+
uses: actions/github-script@v2
|
|
93
|
+
with:
|
|
94
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
95
|
+
script: |
|
|
96
|
+
// Get contents of PR description
|
|
97
|
+
const prBody = context.payload.pull_request.body
|
|
98
|
+
// Parse lines of description
|
|
99
|
+
const prBodyLines = prBody.split('\n').map(x => x.trim()).filter(Boolean)
|
|
100
|
+
// Detect Release Notes
|
|
101
|
+
const releaseNotesStartIdx = prBodyLines.findIndex(line => line.match(/^<summary>release.*$/i))
|
|
102
|
+
const releaseNotesEndIdx = prBodyLines.findIndex(line => line.match(/^\<\/details>\s*$/i))
|
|
103
|
+
if (!releaseNotesStartIdx || !releaseNotesEndIdx) core.setFailed('Unable to parse release notes. Ensure release notes are included within the pull request description.')
|
|
104
|
+
// Extract release notes
|
|
105
|
+
const releaseNotes = Array.from({
|
|
106
|
+
length: releaseNotesEndIdx - releaseNotesStartIdx - 1
|
|
107
|
+
})
|
|
108
|
+
.map((_, i) => i + releaseNotesStartIdx + 1)
|
|
109
|
+
.map(idx => prBodyLines[idx])
|
|
110
|
+
.join('\n')
|
|
111
|
+
if (!releaseNotes.length || releaseNotes.startsWith('<!--')) return core.setFailed('Cannot find release notes associated with this pull request!')
|
|
112
|
+
core.setOutput("releaseNotes", releaseNotes)
|
|
113
|
+
# release_package:
|
|
114
|
+
# name: Publish package
|
|
115
|
+
# runs-on: ubuntu-latest
|
|
116
|
+
# needs: [scan_changed_packages, verify_description]
|
|
117
|
+
# if: ${{ needs.scan_changed_packages.outputs.packageName != 'N/A' && github.event.action == 'closed' && github.event.pull_request.merged == true }}
|
|
118
|
+
# steps:
|
|
119
|
+
# - uses: actions/checkout@v2
|
|
120
|
+
# with:
|
|
121
|
+
# fetch-depth: 0
|
|
122
|
+
# - run: git checkout master
|
|
123
|
+
# - name: Setup Node.js
|
|
124
|
+
# uses: actions/setup-node@v1
|
|
125
|
+
# with:
|
|
126
|
+
# node-version: "12.x"
|
|
127
|
+
# registry-url: "https://registry.npmjs.org"
|
|
128
|
+
# - run: npm ci --ignore-scripts
|
|
129
|
+
# env:
|
|
130
|
+
# NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
|
|
131
|
+
# - run: npm run vercel-build
|
|
132
|
+
# - name: Configure git credentials
|
|
133
|
+
# run: |
|
|
134
|
+
# git config --global user.email "mktg-dev-github-bot@hashicorp.com"
|
|
135
|
+
# git config --global user.name "HashiBot Web"
|
|
136
|
+
# - name: Tag major version
|
|
137
|
+
# if: ${{ needs.verify_description.outputs.version == 'Major'}}
|
|
138
|
+
# run: |
|
|
139
|
+
# echo 'VERSION<<EOF' >> $GITHUB_ENV
|
|
140
|
+
# ./node_modules/.bin/lerna version major --yes | jq -Rsr 'split(" => ") | .[1] | gsub("[\\n\\t]"; "")' >> $GITHUB_ENV
|
|
141
|
+
# echo 'EOF' >> $GITHUB_ENV
|
|
142
|
+
# env:
|
|
143
|
+
# NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
|
|
144
|
+
# - name: Tag minor version
|
|
145
|
+
# if: ${{ needs.verify_description.outputs.version == 'Minor'}}
|
|
146
|
+
# run: |
|
|
147
|
+
# echo 'VERSION<<EOF' >> $GITHUB_ENV
|
|
148
|
+
# ./node_modules/.bin/lerna version minor --yes | jq -Rsr 'split(" => ") | .[1] | gsub("[\\n\\t]"; "")' >> $GITHUB_ENV
|
|
149
|
+
# echo 'EOF' >> $GITHUB_ENV
|
|
150
|
+
# env:
|
|
151
|
+
# NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
|
|
152
|
+
# - name: Tag patch version
|
|
153
|
+
# if: ${{ needs.verify_description.outputs.version == 'Patch'}}
|
|
154
|
+
# run: |
|
|
155
|
+
# echo 'VERSION<<EOF' >> $GITHUB_ENV
|
|
156
|
+
# ./node_modules/.bin/lerna version patch --yes | jq -Rsr 'split(" => ") | .[1] | gsub("[\\n\\t]"; "")' >> $GITHUB_ENV
|
|
157
|
+
# echo 'EOF' >> $GITHUB_ENV
|
|
158
|
+
# env:
|
|
159
|
+
# NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
|
|
160
|
+
# - name: Print version
|
|
161
|
+
# run: echo $VERSION
|
|
162
|
+
# - name: Create GitHub release
|
|
163
|
+
# uses: actions/github-script@v2
|
|
164
|
+
# with:
|
|
165
|
+
# github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
166
|
+
# script: |
|
|
167
|
+
# github.repos.createRelease({
|
|
168
|
+
# owner: context.payload.repository.owner.login,
|
|
169
|
+
# repo: context.payload.repository.name,
|
|
170
|
+
# tag_name: `${process.env.PACKAGE_NAME}@${process.env.VERSION}`,
|
|
171
|
+
# body: process.env.RELEASE_NOTES,
|
|
172
|
+
# draft: false,
|
|
173
|
+
# prerelease: false,
|
|
174
|
+
# });
|
|
175
|
+
# env:
|
|
176
|
+
# PACKAGE_NAME: ${{ needs.scan_changed_packages.outputs.packageName }}
|
|
177
|
+
# RELEASE_NOTES: ${{ needs.verify_description.outputs.releaseNotes }}
|
|
178
|
+
# - name: Publish package
|
|
179
|
+
# run: ./node_modules/.bin/lerna publish from-package --yes
|
|
180
|
+
# env:
|
|
181
|
+
# NODE_AUTH_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
|
package/README.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# HashiCorp React Components
|
|
2
|
+
|
|
3
|
+
This project is a [lerna](https://github.com/lerna/lerna) monorepo containing a library of react components that are shared between multiple HashiCorp web properties. It also includes a component playground that uses [swingset](https://github.com/hashicorp/swingset) to create a space where component authors and contributors can experiment with and quickly iterate on component design and functionality.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
- **Getting Started:** Run `npm i` to install base-level dependencies, then follow with `npm run bootstrap` to install dependencies for each component in the `packages` directory.
|
|
8
|
+
- **Running the Playground:** Run `npm start` - it will start a dev server which can be viewed at `http://localhost:3000`.
|
|
9
|
+
- **Running Tests:**: Run `npm t` to execute the tests. To run watch mode on tests, `npm run test:watch` - this is helpful during development.
|
|
10
|
+
|
|
11
|
+
The `packages` directory contains all the individual components. Let's talk about some of the most important files:
|
|
12
|
+
|
|
13
|
+
- `index.jsx`: primary export of the component itself
|
|
14
|
+
- `index.test.js`: tests for the component, run using [jest](https://jestjs.io/)
|
|
15
|
+
- `docs.mdx`: documentation for the component, see [swingset docs](https://github.com/hashicorp/swingset#usage) for more details on the format
|
|
16
|
+
- `props.js`: information about the component's props, see [swingset docs](https://github.com/hashicorp/swingset#props) for more details on the format
|
|
17
|
+
|
|
18
|
+
## Publishing Packages
|
|
19
|
+
|
|
20
|
+
We manage and distribute packages to [`npm`](https://www.npmjs.com/) using [Lerna](https://lerna.js.org/). Each component is independently published and versioned.
|
|
21
|
+
|
|
22
|
+
### Prerequisites
|
|
23
|
+
|
|
24
|
+
In order to publish packages, you must:
|
|
25
|
+
|
|
26
|
+
1. Be added to the HashiCorp organization on `npm`
|
|
27
|
+
2. [Enable 2-factor authentication](https://docs.npmjs.com/configuring-two-factor-authentication) on your npm account
|
|
28
|
+
3. Log into to `npm` in your CLI with [`npm login`](https://docs.npmjs.com/cli/adduser)
|
|
29
|
+
|
|
30
|
+
If you have not done any of these steps, the publish script will fail.
|
|
31
|
+
|
|
32
|
+
### Publishing `--canary` releases
|
|
33
|
+
|
|
34
|
+
Canary releases allow us to publish and test in-progress changes to components.
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
npm run release:canary
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
You can consume pre-releases with something like `npm install @hashicorp/react-package-name@next`. Canary releases should only be used in staging contexts, not production.
|
|
41
|
+
|
|
42
|
+
By default, `npm run release:canary` will publish a pre-patch canary release. If you're working on feature changes or breaking changes, you'll likely want to run the appropriate versioning command within the package folder before running `npm run release:canary`. This also helps signal the versioning intent to reviewers.
|
|
43
|
+
|
|
44
|
+
**Further details**: `npm run release:canary` will publish any changed packages and their dependencies. It tags the release with the `@next` dist-tag. It also uses [Lerna's `--canary` option](https://github.com/lerna/lerna/tree/master/commands/publish#--canary) to avoid version collisions across branches.
|
|
45
|
+
|
|
46
|
+
### Publishing Production Releases
|
|
47
|
+
|
|
48
|
+
Production releases should only be published off of `master`.
|
|
49
|
+
|
|
50
|
+
```sh
|
|
51
|
+
npm run release
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Any production releases should be **immediately followed up by bumping the updated package** in any consuming projects.
|
|
55
|
+
|
|
56
|
+
For most web-components packages, this means checking the `hashicorp-www-next` repo for Dependabot PRs to bump the package in question. You can view open Dependabot PRs on `hashicorp-www-next` using [the PR view with the `author:app/dependabot-preview` filter applied](https://github.com/hashicorp/hashicorp-www-next/pulls/app%2Fdependabot-preview).
|
|
57
|
+
|
|
58
|
+
### Oh no! I got a 401 and now my packages are like half-published
|
|
59
|
+
|
|
60
|
+
The current workaround is not ideal, but should completely fix the issue. Definitely reach out if you need assistance, as almost everyone on the team has run into this:
|
|
61
|
+
|
|
62
|
+
1. **Remove the "Publish" commit**. The "Publish" commit will most likely be your most recent commit, in which case the command below can be used. **These commands rewrite git history, so use caution!**
|
|
63
|
+
```sh
|
|
64
|
+
git reset --hard HEAD^ # reset the previous commit
|
|
65
|
+
git push origin master --force-with-lease # push new history
|
|
66
|
+
```
|
|
67
|
+
1. **Delete the tags** that point to the deleted publish commit
|
|
68
|
+
```sh
|
|
69
|
+
git tag --delete {tagname} # delete the local tag
|
|
70
|
+
git push --delete origin {tagname} # delete the remote tag
|
|
71
|
+
```
|
|
72
|
+
For example:
|
|
73
|
+
```sh
|
|
74
|
+
git tag --delete @hashicorp/react-secondary-nav@2.1.0
|
|
75
|
+
git push --delete origin @hashicorp/react-secondary-nav@2.1.0
|
|
76
|
+
```
|
|
77
|
+
If multiple packages were published, you'll need to delete tags for each individual package.
|
|
78
|
+
|
|
79
|
+
Now everything should be reset to its state prior to the publish failure.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '@testing-library/jest-dom/extend-expect'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = {}
|
package/babel.config.js
ADDED
package/jest.config.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
moduleNameMapper: {
|
|
3
|
+
'\\.module.css$': '<rootDir>/__test-helpers/mocks/css-module-mock.js',
|
|
4
|
+
'\\.graphql$': '<rootDir>/__test-helpers/mocks/graphql-fragment-mock.js',
|
|
5
|
+
'\\.svg(?:\\?.*)*$': '<rootDir>/__test-helpers/mocks/svg-mock.js',
|
|
6
|
+
},
|
|
7
|
+
transformIgnorePatterns: [
|
|
8
|
+
'/node_modules/(?!@hashicorp/react-)',
|
|
9
|
+
'\\.pnp\\.[^\\/]+$',
|
|
10
|
+
],
|
|
11
|
+
verbose: true,
|
|
12
|
+
setupFilesAfterEnv: ['<rootDir>/__test-helpers/extend-expect.js'],
|
|
13
|
+
}
|
package/lerna.json
ADDED
package/next.config.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const withHashicorp = require('@hashicorp/nextjs-scripts')
|
|
2
|
+
const withSwingset = require('swingset')
|
|
3
|
+
|
|
4
|
+
module.exports = withHashicorp({
|
|
5
|
+
transpileModules: [
|
|
6
|
+
'swingset',
|
|
7
|
+
'@hashicorp/react-.*',
|
|
8
|
+
'@hashicorp/nextjs-scripts',
|
|
9
|
+
],
|
|
10
|
+
})(
|
|
11
|
+
withSwingset({
|
|
12
|
+
componentsRoot: 'packages/*',
|
|
13
|
+
})({ svgo: { plugins: [{ removeViewBox: false }] } })
|
|
14
|
+
)
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hashicorp/react-components",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"dependencies": {
|
|
5
|
+
"@hashicorp/mktg-global-styles": "^2.0.0",
|
|
6
|
+
"@hashicorp/nextjs-scripts": "^13.2.0",
|
|
7
|
+
"next": "9.5.5",
|
|
8
|
+
"next-remote-watch": "^0.2.0",
|
|
9
|
+
"react": "16.13.1",
|
|
10
|
+
"react-dom": "16.13.1",
|
|
11
|
+
"swingset": "^0.4.2"
|
|
12
|
+
},
|
|
13
|
+
"devDependencies": {
|
|
14
|
+
"@testing-library/jest-dom": "^5.11.5",
|
|
15
|
+
"@testing-library/react": "^11.1.1",
|
|
16
|
+
"jest": "^26.6.3",
|
|
17
|
+
"lerna": "^3.22.1",
|
|
18
|
+
"regenerator-runtime": "^0.13.7"
|
|
19
|
+
},
|
|
20
|
+
"scripts": {
|
|
21
|
+
"bootstrap": "lerna bootstrap",
|
|
22
|
+
"release": "npm run release:check-branch && npm run release:check-auth && lerna publish",
|
|
23
|
+
"release:canary": "npm run release:check-auth && lerna publish --dist-tag=next --canary",
|
|
24
|
+
"release:check-auth": "./scripts/release-check-npm-auth.sh",
|
|
25
|
+
"release:check-branch": "./scripts/release-check-branch.sh",
|
|
26
|
+
"start": "next-remote-watch \"./packages/*/{docs.mdx,props.js}\"",
|
|
27
|
+
"test": "jest",
|
|
28
|
+
"test:watch": "jest --watch",
|
|
29
|
+
"vercel-build": "npm run bootstrap && next build"
|
|
30
|
+
}
|
|
31
|
+
}
|