1
0
mirror of synced 2026-01-29 12:00:58 -05:00

Merge branch 'main' into repo-sync

This commit is contained in:
Octomerger Bot
2021-06-08 10:04:41 +10:00
committed by GitHub
32 changed files with 16518 additions and 310 deletions

View File

@@ -1,24 +1,24 @@
import { useState } from 'react'
import cx from 'classnames'
import { useRouter } from 'next/router'
import { ChevronDownIcon, MarkGithubIcon, ThreeBarsIcon, XIcon } from '@primer/octicons-react'
import { MarkGithubIcon, ThreeBarsIcon, XIcon } from '@primer/octicons-react'
import { ButtonOutline } from '@primer/components'
import { Link } from 'components/Link'
import { useMainContext } from './context/MainContext'
import { LanguagePicker } from './LanguagePicker'
import { HeaderNotifications } from 'components/HeaderNotifications'
import { MobileProductDropdown } from 'components/MobileProductDropdown'
import { ProductPicker } from 'components/ProductPicker'
import { useTranslation } from 'components/hooks/useTranslation'
import { HomepageVersionPicker } from 'components/landing/HomepageVersionPicker'
import { Search } from 'components/Search'
export const Header = () => {
const router = useRouter()
const { currentProduct, relativePath, currentLayoutName, error } = useMainContext()
const { relativePath, currentLayoutName, error } = useMainContext()
const { t } = useTranslation(['header', 'homepage'])
const [isMenuOpen, setIsMenuOpen] = useState(false)
const showVersionPicker =
relativePath === 'index.md' ||
currentLayoutName === 'product-landing' ||
@@ -28,28 +28,47 @@ export const Header = () => {
<div className="border-bottom color-border-secondary no-print">
{error !== '404' && <HeaderNotifications />}
<header className="container-xl px-3 px-md-6 pt-3 pb-2 position-relative d-flex flex-justify-between width-full">
<div
className="d-flex flex-items-center d-lg-none"
style={{ zIndex: 3 }}
id="github-logo-mobile"
role="banner"
>
<Link aria-hidden="true" tabIndex={-1} href={`/${router.locale}`}>
<MarkGithubIcon size={32} className="color-icon-primary" />
</Link>
<header
className="container-xl px-3 px-md-6 pt-3 pb-3 position-relative"
style={{ zIndex: 2 }}
>
{/* desktop header */}
<div className="d-none d-lg-flex flex-justify-end">
{showVersionPicker && (
<div className="py-2 mr-4">
<HomepageVersionPicker />
</div>
)}
<Link
href={`/${router.locale}`}
className="h4-mktg color-text-primary no-underline no-wrap pl-2"
>
{t('github_docs')}
</Link>
<div className="py-2">
<LanguagePicker />
</div>
{/* <!-- GitHub.com homepage and 404 page has a stylized search; Enterprise homepages do not --> */}
{relativePath !== 'index.md' && error !== '404' && (
<div className="d-inline-block ml-4">
<Search />
</div>
)}
</div>
<div className="width-full">
<div className="d-inline-block width-full d-md-flex" style={{ zIndex: 1 }}>
<div className="float-right d-md-none position-relative" style={{ zIndex: 3 }}>
{/* mobile header */}
<div className="d-lg-none">
<div className="d-flex flex-justify-between">
<div className="d-flex flex-items-center" id="github-logo-mobile" role="banner">
<Link aria-hidden="true" tabIndex={-1} href={`/${router.locale}`}>
<MarkGithubIcon size={32} className="color-icon-primary" />
</Link>
<Link
href={`/${router.locale}`}
className="h4-mktg color-text-primary no-underline no-wrap pl-2"
>
{t('github_docs')}
</Link>
</div>
<div>
<ButtonOutline
css
onClick={() => setIsMenuOpen(!isMenuOpen)}
@@ -58,54 +77,42 @@ export const Header = () => {
{isMenuOpen ? <XIcon size="small" /> : <ThreeBarsIcon size="small" />}
</ButtonOutline>
</div>
</div>
{/* mobile menu contents */}
<div className="relative">
<div
style={{ zIndex: 2 }}
className={cx('nav-mobile-dropdown width-full', isMenuOpen && 'js-open')}
className={cx(
'width-full position-absolute left-0 right-0 color-shadow-large color-bg-primary px-3 px-md-6 pb-3',
isMenuOpen ? 'd-block' : 'd-none'
)}
>
<div className="d-md-flex flex-justify-between flex-items-center">
<div className="py-2 py-md-0 d-md-inline-block">
<h4 className="text-mono f5 text-normal color-text-secondary d-md-none">
{t('explore_by_product')}
</h4>
<details className="dropdown-withArrow position-relative details details-reset d-md-none close-when-clicked-outside">
<summary
className="nav-desktop-productDropdownButton color-text-link py-2"
role="button"
aria-label="Toggle products list"
>
<div
id="current-product"
className="d-flex flex-items-center flex-justify-between"
style={{ paddingTop: 2 }}
>
{/* <!-- Product switcher - GitHub.com, Enterprise Server, etc -->
<!-- 404 and 500 error layouts are not real pages so we need to hardcode the name for those --> */}
{currentProduct?.name}
<ChevronDownIcon size={24} className="arrow ml-md-1" />
</div>
</summary>
<div className="mt-3 mb-2">
<h4 className="text-mono f5 text-normal color-text-secondary">
{t('explore_by_product')}
</h4>
<MobileProductDropdown />
</details>
</div>
<div className="d-md-inline-block">
{/* <!-- Versions picker that only appears in the header on landing pages --> */}
{showVersionPicker && <HomepageVersionPicker />}
{/* <!-- Language picker - 'English', 'Japanese', etc --> */}
<div className="border-top border-md-top-0 py-2 d-md-inline-block">
<LanguagePicker />
</div>
{/* <!-- GitHub.com homepage and 404 page has a stylized search; Enterprise homepages do not --> */}
{relativePath !== 'index.md' && error !== '404' && (
<div className="pt-3 pt-md-0 ml-md-3 d-md-inline-block border-top border-md-top-0">
<Search />
</div>
)}
</div>
<ProductPicker />
</div>
{/* <!-- Versions picker that only appears in the header on landing pages --> */}
{showVersionPicker && (
<div className="border-top py-2">
<HomepageVersionPicker variant="inline" />
</div>
)}
{/* <!-- Language picker - 'English', 'Japanese', etc --> */}
<div className="border-top py-2">
<LanguagePicker variant="inline" />
</div>
{/* <!-- GitHub.com homepage and 404 page has a stylized search; Enterprise homepages do not --> */}
{relativePath !== 'index.md' && error !== '404' && (
<div className="pt-3 border-top">
<Search />
</div>
)}
</div>
</div>
</div>

View File

@@ -1,47 +1,89 @@
import cx from 'classnames'
import { useRouter } from 'next/router'
import { Dropdown } from '@primer/components'
import { Dropdown, Details, useDetails } from '@primer/components'
import { ChevronDownIcon } from '@primer/octicons-react'
import { Link } from 'components/Link'
import { useMainContext } from './context/MainContext'
export const LanguagePicker = () => {
type Props = {
variant?: 'inline'
}
export const LanguagePicker = ({ variant }: Props) => {
const router = useRouter()
const { languages } = useMainContext()
const { getDetailsProps } = useDetails({})
const locale = router.locale || 'en'
const langs = Object.values(languages)
const selectedLang = languages[locale]
return (
<div className="ml-4 d-flex flex-justify-center flex-items-center">
<Dropdown
css={`
ul {
width: unset;
}
`}
>
<summary>
{selectedLang.nativeName || selectedLang.name}
<Dropdown.Caret />
if (variant === 'inline') {
return (
<Details {...getDetailsProps()} className="details-reset">
<summary aria-label="Toggle language list">
<div className="d-flex flex-items-center flex-justify-between py-2">
<span>{selectedLang.nativeName || selectedLang.name}</span>
<ChevronDownIcon size={24} className="arrow ml-md-1" />
</div>
</summary>
<Dropdown.Menu direction="sw">
<div>
{langs.map((lang) => {
return (
<Dropdown.Item key={lang.code}>
<Link href={router.asPath} locale={lang.hreflang}>
{lang.nativeName ? (
<>
{lang.nativeName} ({lang.name})
</>
) : (
lang.name
)}
</Link>
</Dropdown.Item>
<Link
key={lang.code}
href={router.asPath}
locale={lang.hreflang}
className={cx(
'd-block py-2',
lang.code === router.locale
? 'color-text-link text-underline active'
: 'Link--primary no-underline'
)}
>
{lang.nativeName ? (
<>
{lang.nativeName} ({lang.name})
</>
) : (
lang.name
)}
</Link>
)
})}
</Dropdown.Menu>
</Dropdown>
</div>
</div>
</Details>
)
}
return (
<Dropdown
css={`
ul {
width: unset;
}
`}
>
<summary>
{selectedLang.nativeName || selectedLang.name}
<Dropdown.Caret />
</summary>
<Dropdown.Menu direction="sw">
{langs.map((lang) => {
return (
<Dropdown.Item key={lang.code}>
<Link href={router.asPath} locale={lang.hreflang}>
{lang.nativeName ? (
<>
{lang.nativeName} ({lang.name})
</>
) : (
lang.name
)}
</Link>
</Dropdown.Item>
)
})}
</Dropdown.Menu>
</Dropdown>
)
}

View File

@@ -1,41 +0,0 @@
import { useRouter } from 'next/router'
import { LinkExternalIcon } from '@primer/octicons-react'
import cx from 'classnames'
import { Link } from 'components/Link'
import { useMainContext } from 'components/context/MainContext'
export const MobileProductDropdown = () => {
const router = useRouter()
const { activeProducts, currentProduct } = useMainContext()
return (
<div
id="homepages"
className="position-md-absolute nav-desktop-productDropdown p-md-4 left-md-n4 top-md-6"
style={{ zIndex: 6 }}
>
{activeProducts.map((product) => {
return (
<Link
key={product.id}
href={`${product.external ? '' : `/${router.locale}`}${product.href}`}
className={cx(
'd-block py-2',
product.id === currentProduct?.id
? 'color-text-link text-underline active'
: 'Link--primary no-underline'
)}
>
{product.name}
{product.external && (
<span className="ml-1">
<LinkExternalIcon size="small" />
</span>
)}
</Link>
)
})}
</div>
)
}

View File

@@ -0,0 +1,50 @@
import { useRouter } from 'next/router'
import { LinkExternalIcon } from '@primer/octicons-react'
import cx from 'classnames'
import { Link } from 'components/Link'
import { useMainContext } from 'components/context/MainContext'
import { ChevronDownIcon } from '@primer/octicons-react'
import { Details, useDetails } from '@primer/components'
export const ProductPicker = () => {
const router = useRouter()
const { activeProducts, currentProduct } = useMainContext()
const { getDetailsProps } = useDetails({})
return (
<Details {...getDetailsProps()} className="details-reset">
<summary className="color-text-link" role="button" aria-label="Toggle products list">
<div id="current-product" className="d-flex flex-items-center flex-justify-between py-2">
{/* <!-- Product switcher - GitHub.com, Enterprise Server, etc -->
<!-- 404 and 500 error layouts are not real pages so we need to hardcode the name for those --> */}
<span>{currentProduct?.name || 'All Products'}</span>
<ChevronDownIcon size={24} className="arrow ml-md-1" />
</div>
</summary>
<div id="homepages" style={{ zIndex: 6 }}>
{activeProducts.map((product) => {
return (
<Link
key={product.id}
href={`${product.external ? '' : `/${router.locale}`}${product.href}`}
className={cx(
'd-block py-2',
product.id === currentProduct?.id
? 'color-text-link text-underline active'
: 'Link--primary no-underline'
)}
>
{product.name}
{product.external && (
<span className="ml-1">
<LinkExternalIcon size="small" />
</span>
)}
</Link>
)
})}
</div>
</Details>
)
}

View File

@@ -1,61 +1,102 @@
import cx from 'classnames'
import { useRouter } from 'next/router'
import { Dropdown } from '@primer/components'
import { Dropdown, Details, useDetails } from '@primer/components'
import { ChevronDownIcon } from '@primer/octicons-react'
import { Link } from 'components/Link'
import { useMainContext } from 'components/context/MainContext'
import { useVersion } from 'components/hooks/useVersion'
import { useTranslation } from 'components/hooks/useTranslation'
export const HomepageVersionPicker = () => {
type Props = {
variant?: 'inline'
}
export const HomepageVersionPicker = ({ variant }: Props) => {
const router = useRouter()
const { currentVersion } = useVersion()
const { allVersions, page, enterpriseServerVersions } = useMainContext()
const { getDetailsProps } = useDetails({})
const { allVersions, page, enterpriseServerVersions, isHomepageVersion } = useMainContext()
const { t } = useTranslation('homepage')
if (page.permalinks && page.permalinks.length <= 1) {
return null
}
const label =
currentVersion === 'homepage' ? t('version_picker') : allVersions[currentVersion].versionTitle
const label = isHomepageVersion ? t('version_picker') : allVersions[currentVersion].versionTitle
if (variant === 'inline') {
return (
<Details {...getDetailsProps()} className="details-reset">
<summary aria-label="Toggle language list">
<div className="d-flex flex-items-center flex-justify-between py-2">
<span>{label}</span>
<ChevronDownIcon size={24} className="arrow ml-md-1" />
</div>
</summary>
<div>
{(page.permalinks || []).map((permalink) => {
if (permalink.pageVersion === 'homepage') {
return null
}
return (
<Link
key={permalink.href}
href={permalink.href}
className={cx(
'd-block py-2',
permalink.href === router.asPath
? 'color-text-link text-underline active'
: 'Link--primary no-underline'
)}
>
{permalink.pageVersionTitle}
</Link>
)
})}
<Link
href={`/${router.locale}/${enterpriseServerVersions[0]}/admin/all-releases`}
className="f6 no-underline color-text-tertiary no-wrap"
>
See all Enterprise releases
</Link>
</div>
</Details>
)
}
return (
<div className="d-md-inline-block">
<div className="border-top border-md-top-0 py-2 d-md-inline-block">
<Dropdown
css={`
ul {
width: unset;
}
`}
>
<summary>
{label}
<Dropdown.Caret />
</summary>
<Dropdown.Menu direction="sw">
{(page.permalinks || []).map((permalink) => {
if (permalink.pageVersion === 'homepage') {
return null
}
<Dropdown
css={`
ul {
width: unset;
}
`}
>
<summary>
{label}
<Dropdown.Caret />
</summary>
<Dropdown.Menu direction="sw">
{(page.permalinks || []).map((permalink) => {
if (permalink.pageVersion === 'homepage') {
return null
}
return (
<Dropdown.Item key={permalink.href}>
<Link href={permalink.href}>{permalink.pageVersionTitle}</Link>
</Dropdown.Item>
)
})}
<div className="pb-1">
<Link
href={`/${router.locale}/${enterpriseServerVersions[0]}/admin/all-releases`}
className="f6 no-underline color-text-tertiary pl-3 pr-2 no-wrap"
>
See all Enterprise releases
</Link>
</div>
</Dropdown.Menu>
</Dropdown>
</div>
</div>
return (
<Dropdown.Item key={permalink.href}>
<Link href={permalink.href}>{permalink.pageVersionTitle}</Link>
</Dropdown.Item>
)
})}
<div className="pb-1">
<Link
href={`/${router.locale}/${enterpriseServerVersions[0]}/admin/all-releases`}
className="f6 no-underline color-text-tertiary pl-3 pr-2 no-wrap"
>
See all Enterprise releases
</Link>
</div>
</Dropdown.Menu>
</Dropdown>
)
}

View File

@@ -112,3 +112,11 @@ upcoming_changes:
date: '2021-01-01T00:00:00+00:00'
criticality: breaking
owner: nplasterer
- location: PackageType.DOCKER
description: '`DOCKER` will be removed.'
reason:
DOCKER will be removed from this enum as this type will be migrated to only
be used by the Packages REST API.
date: '2021-06-21'
criticality: breaking
owner: reybard

File diff suppressed because it is too large Load Diff

View File

@@ -20502,6 +20502,36 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab
"""
closedAt: DateTime
"""
List of issues that were may be closed by this pull request
"""
closingIssuesReferences(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the last _n_ elements from the list.
"""
last: Int
"""
Ordering options for issues returned from the connection
"""
orderBy: IssueOrder
): IssueConnection
"""
A list of comments associated with the pull request.
"""

View File

@@ -20459,6 +20459,36 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab
"""
closedAt: DateTime
"""
List of issues that were may be closed by this pull request
"""
closingIssuesReferences(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the last _n_ elements from the list.
"""
last: Int
"""
Ordering options for issues returned from the connection
"""
orderBy: IssueOrder
): IssueConnection
"""
A list of comments associated with the pull request.
"""

View File

@@ -20893,6 +20893,36 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab
"""
closedAt: DateTime
"""
List of issues that were may be closed by this pull request
"""
closingIssuesReferences(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the last _n_ elements from the list.
"""
last: Int
"""
Ordering options for issues returned from the connection
"""
orderBy: IssueOrder
): IssueConnection
"""
A list of comments associated with the pull request.
"""

View File

@@ -21963,6 +21963,36 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab
"""
closedAt: DateTime
"""
List of issues that were may be closed by this pull request
"""
closingIssuesReferences(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the last _n_ elements from the list.
"""
last: Int
"""
Ordering options for issues returned from the connection
"""
orderBy: IssueOrder
): IssueConnection
"""
A list of comments associated with the pull request.
"""

View File

@@ -120,3 +120,11 @@ upcoming_changes:
date: '2021-01-01T00:00:00+00:00'
criticality: breaking
owner: nplasterer
- location: PackageType.DOCKER
description: '`DOCKER` will be removed.'
reason:
DOCKER will be removed from this enum as this type will be migrated to only
be used by the Packages REST API.
date: '2021-06-21'
criticality: breaking
owner: reybard

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,142 @@
[
{
"schemaChanges": [
{
"title": "The GraphQL schema includes these changes:",
"changes": [
"Type `AddDiscussionCommentInput` was added",
"Type `AddDiscussionCommentPayload` was added",
"Type `AddUpvoteInput` was added",
"Type `AddUpvotePayload` was added",
"Type `ApproveDeploymentsInput` was added",
"Type `ApproveDeploymentsPayload` was added",
"Type `CheckStep` was added",
"Type `CheckStepConnection` was added",
"Type `CheckStepEdge` was added",
"Type `CreateDiscussionInput` was added",
"Type `CreateDiscussionPayload` was added",
"Type `CreateEnvironmentInput` was added",
"Type `CreateEnvironmentPayload` was added",
"Type `DeleteDiscussionCommentInput` was added",
"Type `DeleteDiscussionCommentPayload` was added",
"Type `DeleteDiscussionInput` was added",
"Type `DeleteDiscussionPayload` was added",
"Type `DeleteEnvironmentInput` was added",
"Type `DeleteEnvironmentPayload` was added",
"Type `DeploymentProtectionRule` was added",
"Type `DeploymentProtectionRuleConnection` was added",
"Type `DeploymentProtectionRuleEdge` was added",
"Type `DeploymentProtectionRuleType` was added",
"Type `DeploymentRequest` was added",
"Type `DeploymentRequestConnection` was added",
"Type `DeploymentRequestEdge` was added",
"Type `DeploymentReview` was added",
"Type `DeploymentReviewConnection` was added",
"Type `DeploymentReviewEdge` was added",
"Type `DeploymentReviewState` was added",
"Type `DeploymentReviewer` was added",
"Type `DeploymentReviewerConnection` was added",
"Type `DeploymentReviewerEdge` was added",
"Type `Discussion` was added",
"Type `DiscussionCategory` was added",
"Type `DiscussionCategoryConnection` was added",
"Type `DiscussionCategoryEdge` was added",
"Type `DiscussionComment` was added",
"Type `DiscussionCommentConnection` was added",
"Type `DiscussionCommentEdge` was added",
"Type `DiscussionConnection` was added",
"Type `DiscussionEdge` was added",
"Type `DiscussionOrder` was added",
"Type `DiscussionOrderField` was added",
"Type `Environment` was added",
"Type `EnvironmentConnection` was added",
"Type `EnvironmentEdge` was added",
"Type `MarkDiscussionCommentAsAnswerInput` was added",
"Type `MarkDiscussionCommentAsAnswerPayload` was added",
"Type `PinnedDiscussion` was added",
"Type `PinnedDiscussionConnection` was added",
"Type `PinnedDiscussionEdge` was added",
"Type `PinnedDiscussionGradient` was added",
"Type `PinnedDiscussionPattern` was added",
"Type `RejectDeploymentsInput` was added",
"Type `RejectDeploymentsPayload` was added",
"Type `RemoveUpvoteInput` was added",
"Type `RemoveUpvotePayload` was added",
"Type `RepositoryDiscussionAuthor` was added",
"Type `RepositoryDiscussionCommentAuthor` was added",
"Type `UnmarkDiscussionCommentAsAnswerInput` was added",
"Type `UnmarkDiscussionCommentAsAnswerPayload` was added",
"Type `UpdateDiscussionCommentInput` was added",
"Type `UpdateDiscussionCommentPayload` was added",
"Type `UpdateDiscussionInput` was added",
"Type `UpdateDiscussionPayload` was added",
"Type `UpdateEnvironmentInput` was added",
"Type `UpdateEnvironmentPayload` was added",
"Type `Votable` was added",
"Type `Workflow` was added",
"Type `WorkflowRun` was added",
"Field `deployment` was added to object type `CheckRun`",
"Field `pendingDeploymentRequest` was added to object type `CheckRun`",
"Field `steps` was added to object type `CheckRun`",
"Enum value `PENDING` was added to enum `CheckStatusState`",
"Field `creator` was added to object type `CheckSuite`",
"Field `workflowRun` was added to object type `CheckSuite`",
"Field `addDiscussionComment` was added to object type `Mutation`",
"Field `addUpvote` was added to object type `Mutation`",
"Field `approveDeployments` was added to object type `Mutation`",
"Field `createDiscussion` was added to object type `Mutation`",
"Field `createEnvironment` was added to object type `Mutation`",
"Field `deleteDiscussion` was added to object type `Mutation`",
"Field `deleteDiscussionComment` was added to object type `Mutation`",
"Field `deleteEnvironment` was added to object type `Mutation`",
"Field `markDiscussionCommentAsAnswer` was added to object type `Mutation`",
"Field `rejectDeployments` was added to object type `Mutation`",
"Field `removeUpvote` was added to object type `Mutation`",
"Field `unmarkDiscussionCommentAsAnswer` was added to object type `Mutation`",
"Field `updateDiscussion` was added to object type `Mutation`",
"Field `updateDiscussionComment` was added to object type `Mutation`",
"Field `updateEnvironment` was added to object type `Mutation`",
"`Organization` object implements `RepositoryDiscussionAuthor` interface",
"`Organization` object implements `RepositoryDiscussionCommentAuthor` interface",
"Field `repositoryDiscussionComments` was added to object type `Organization`",
"Field `repositoryDiscussions` was added to object type `Organization`",
"Field `closingIssuesReferences` was added to object type `PullRequest`",
"`Release` object implements `Reactable` interface",
"Field `databaseId` was added to object type `Release`",
"Field `reactionGroups` was added to object type `Release`",
"Field `reactions` was added to object type `Release`",
"Field `viewerCanReact` was added to object type `Release`",
"Field `discussion` was added to object type `Repository`",
"Field `discussionCategories` was added to object type `Repository`",
"Field `discussions` was added to object type `Repository`",
"Field `environment` was added to object type `Repository`",
"Field `environments` was added to object type `Repository`",
"Field `pinnedDiscussions` was added to object type `Repository`",
"Enum value `PENDING` was added to enum `RequestableCheckStatusState`",
"Member `Discussion` was added to Union type `SearchResultItem`",
"Field `discussionCount` was added to object type `SearchResultItemConnection`",
"Enum value `DISCUSSION` was added to enum `SearchType`",
"Enum value `GO` was added to enum `SecurityAdvisoryEcosystem`",
"Field `totalRecurringMonthlyPriceInCents` was added to object type `SponsorshipConnection`",
"Field `totalRecurringMonthlyPriceInDollars` was added to object type `SponsorshipConnection`",
"`User` object implements `RepositoryDiscussionAuthor` interface",
"`User` object implements `RepositoryDiscussionCommentAuthor` interface",
"Field `repositoryDiscussionComments` was added to object type `User`",
"Field `repositoryDiscussions` was added to object type `User`"
]
}
],
"previewChanges": [],
"upcomingChanges": [
{
"title": "The following changes will be made to the schema:",
"changes": [
"On member `PackageType.DOCKER`:`DOCKER` will be removed. **Effective 2021-06-21**."
]
}
],
"date": "2021-06-07"
},
{
"schemaChanges": [
{

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -32137,6 +32137,66 @@
"kind": "scalars",
"href": "/graphql/reference/scalars#datetime"
},
{
"name": "closingIssuesReferences",
"description": "<p>List of issues that were may be closed by this pull request.</p>",
"type": "IssueConnection",
"id": "issueconnection",
"kind": "objects",
"href": "/graphql/reference/objects#issueconnection",
"arguments": [
{
"name": "after",
"description": "<p>Returns the elements in the list that come after the specified cursor.</p>",
"type": {
"name": "String",
"id": "string",
"kind": "scalars",
"href": "/graphql/reference/scalars#string"
}
},
{
"name": "before",
"description": "<p>Returns the elements in the list that come before the specified cursor.</p>",
"type": {
"name": "String",
"id": "string",
"kind": "scalars",
"href": "/graphql/reference/scalars#string"
}
},
{
"name": "first",
"description": "<p>Returns the first <em>n</em> elements from the list.</p>",
"type": {
"name": "Int",
"id": "int",
"kind": "scalars",
"href": "/graphql/reference/scalars#int"
}
},
{
"name": "last",
"description": "<p>Returns the last <em>n</em> elements from the list.</p>",
"type": {
"name": "Int",
"id": "int",
"kind": "scalars",
"href": "/graphql/reference/scalars#int"
}
},
{
"name": "orderBy",
"description": "<p>Ordering options for issues returned from the connection.</p>",
"type": {
"name": "IssueOrder",
"id": "issueorder",
"kind": "input-objects",
"href": "/graphql/reference/input-objects#issueorder"
}
}
]
},
{
"name": "comments",
"description": "<p>A list of comments associated with the pull request.</p>",

View File

@@ -31401,6 +31401,66 @@
"kind": "scalars",
"href": "/graphql/reference/scalars#datetime"
},
{
"name": "closingIssuesReferences",
"description": "<p>List of issues that were may be closed by this pull request.</p>",
"type": "IssueConnection",
"id": "issueconnection",
"kind": "objects",
"href": "/graphql/reference/objects#issueconnection",
"arguments": [
{
"name": "after",
"description": "<p>Returns the elements in the list that come after the specified cursor.</p>",
"type": {
"name": "String",
"id": "string",
"kind": "scalars",
"href": "/graphql/reference/scalars#string"
}
},
{
"name": "before",
"description": "<p>Returns the elements in the list that come before the specified cursor.</p>",
"type": {
"name": "String",
"id": "string",
"kind": "scalars",
"href": "/graphql/reference/scalars#string"
}
},
{
"name": "first",
"description": "<p>Returns the first <em>n</em> elements from the list.</p>",
"type": {
"name": "Int",
"id": "int",
"kind": "scalars",
"href": "/graphql/reference/scalars#int"
}
},
{
"name": "last",
"description": "<p>Returns the last <em>n</em> elements from the list.</p>",
"type": {
"name": "Int",
"id": "int",
"kind": "scalars",
"href": "/graphql/reference/scalars#int"
}
},
{
"name": "orderBy",
"description": "<p>Ordering options for issues returned from the connection.</p>",
"type": {
"name": "IssueOrder",
"id": "issueorder",
"kind": "input-objects",
"href": "/graphql/reference/input-objects#issueorder"
}
}
]
},
{
"name": "comments",
"description": "<p>A list of comments associated with the pull request.</p>",

View File

@@ -31238,6 +31238,66 @@
"kind": "scalars",
"href": "/graphql/reference/scalars#datetime"
},
{
"name": "closingIssuesReferences",
"description": "<p>List of issues that were may be closed by this pull request.</p>",
"type": "IssueConnection",
"id": "issueconnection",
"kind": "objects",
"href": "/graphql/reference/objects#issueconnection",
"arguments": [
{
"name": "after",
"description": "<p>Returns the elements in the list that come after the specified cursor.</p>",
"type": {
"name": "String",
"id": "string",
"kind": "scalars",
"href": "/graphql/reference/scalars#string"
}
},
{
"name": "before",
"description": "<p>Returns the elements in the list that come before the specified cursor.</p>",
"type": {
"name": "String",
"id": "string",
"kind": "scalars",
"href": "/graphql/reference/scalars#string"
}
},
{
"name": "first",
"description": "<p>Returns the first <em>n</em> elements from the list.</p>",
"type": {
"name": "Int",
"id": "int",
"kind": "scalars",
"href": "/graphql/reference/scalars#int"
}
},
{
"name": "last",
"description": "<p>Returns the last <em>n</em> elements from the list.</p>",
"type": {
"name": "Int",
"id": "int",
"kind": "scalars",
"href": "/graphql/reference/scalars#int"
}
},
{
"name": "orderBy",
"description": "<p>Ordering options for issues returned from the connection.</p>",
"type": {
"name": "IssueOrder",
"id": "issueorder",
"kind": "input-objects",
"href": "/graphql/reference/input-objects#issueorder"
}
}
]
},
{
"name": "comments",
"description": "<p>A list of comments associated with the pull request.</p>",

View File

@@ -31705,6 +31705,66 @@
"kind": "scalars",
"href": "/graphql/reference/scalars#datetime"
},
{
"name": "closingIssuesReferences",
"description": "<p>List of issues that were may be closed by this pull request.</p>",
"type": "IssueConnection",
"id": "issueconnection",
"kind": "objects",
"href": "/graphql/reference/objects#issueconnection",
"arguments": [
{
"name": "after",
"description": "<p>Returns the elements in the list that come after the specified cursor.</p>",
"type": {
"name": "String",
"id": "string",
"kind": "scalars",
"href": "/graphql/reference/scalars#string"
}
},
{
"name": "before",
"description": "<p>Returns the elements in the list that come before the specified cursor.</p>",
"type": {
"name": "String",
"id": "string",
"kind": "scalars",
"href": "/graphql/reference/scalars#string"
}
},
{
"name": "first",
"description": "<p>Returns the first <em>n</em> elements from the list.</p>",
"type": {
"name": "Int",
"id": "int",
"kind": "scalars",
"href": "/graphql/reference/scalars#int"
}
},
{
"name": "last",
"description": "<p>Returns the last <em>n</em> elements from the list.</p>",
"type": {
"name": "Int",
"id": "int",
"kind": "scalars",
"href": "/graphql/reference/scalars#int"
}
},
{
"name": "orderBy",
"description": "<p>Ordering options for issues returned from the connection.</p>",
"type": {
"name": "IssueOrder",
"id": "issueorder",
"kind": "input-objects",
"href": "/graphql/reference/input-objects#issueorder"
}
}
]
},
{
"name": "comments",
"description": "<p>A list of comments associated with the pull request.</p>",

View File

@@ -147,6 +147,16 @@
"criticality": "breaking",
"owner": "nplasterer"
}
],
"2021-06-21": [
{
"location": "PackageType.DOCKER",
"description": "<p><code>DOCKER</code> will be removed.</p>",
"reason": "<p>DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API.</p>",
"date": "2021-06-21",
"criticality": "breaking",
"owner": "reybard"
}
]
},
"ghes-3.1": {
@@ -1391,6 +1401,16 @@
"criticality": "breaking",
"owner": "nplasterer"
}
],
"2021-06-21": [
{
"location": "PackageType.DOCKER",
"description": "<p><code>DOCKER</code> will be removed.</p>",
"reason": "<p>DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API.</p>",
"date": "2021-06-21",
"criticality": "breaking",
"owner": "reybard"
}
]
}
}

View File

@@ -2,11 +2,18 @@ import { useRouter } from 'next/router'
import Head from 'next/head'
import Link from 'next/link'
import { MarkGithubIcon, GitPullRequestIcon, PeopleIcon, CommentDiscussionIcon, ThumbsdownIcon, ThumbsupIcon } from '@primer/octicons-react'
import {
MarkGithubIcon,
GitPullRequestIcon,
PeopleIcon,
CommentDiscussionIcon,
ThumbsdownIcon,
ThumbsupIcon,
} from '@primer/octicons-react'
import { useVersion } from 'components/hooks/useVersion'
import { AllProductsLink } from 'components/product/AllProductsLink'
export default function Custom404 (props : any) {
export default function Custom404(props: any) {
const router = useRouter()
const { currentVersion, isEnterprise } = useVersion()
@@ -47,9 +54,7 @@ export default function Custom404 (props : any) {
<div className="container-xl p-responsive py-6">
<article className="markdown-body col-md-10 col-lg-7 mx-auto">
<h1>Ooops</h1>
<div className="lead-mktg mb-5">
It looks like this page doesn't exist.
</div>
<div className="lead-mktg mb-5">It looks like this page doesn't exist.</div>
<div className="col-lg-12 mt-6">
<h3 className="mb-3">Need help?</h3>
</div>
@@ -58,29 +63,36 @@ export default function Custom404 (props : any) {
<section className="mt-lg-9 py-7 px-3 px-md-6 no-print color-bg-tertiary">
<div className="container-xl gutter-lg-spacious clearfix">
<div className="col-12 col-lg-6 col-xl-4 mb-6 mb-xl-0 float-left">
<div className="f5 contribution">
<h2 className="f4">Help us make these docs great!</h2>
<p className="color-text-secondary f6">All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.</p>
<a className="btn btn-outline" href={contribution_href}>
<GitPullRequestIcon size="small" className="octicon mr-1" />
<div className="f5 contribution">
<h2 className="f4">Help us make these docs great!</h2>
<p className="color-text-secondary f6">
All GitHub docs are open source. See something that's wrong or unclear? Submit a
pull request.
</p>
<a className="btn btn-outline" href={contribution_href}>
<GitPullRequestIcon size="small" className="octicon mr-1" />
Make a contribution
</a>
<p className="color-text-secondary f6 mt-2">
Or,{' '}
<a
href="https://github.com/github/docs/blob/main/CONTRIBUTING.md"
target="_blank"
rel="noopener"
>
learn how to contribute.
</a>
</p>
</div>
<p className="color-text-secondary f6 mt-2">
Or,{' '}
<a
href="https://github.com/github/docs/blob/main/CONTRIBUTING.md"
target="_blank"
rel="noopener"
>
learn how to contribute.
</a>
</p>
</div>
</div>
<div className="col-12 col-lg-12 col-xl-4 float-left">
<div>
<h3 className="mb-2 f4">Still need help?</h3>
<a id="ask-community" href="https://github.community" className="btn btn-outline mr-4 mt-2">
<a
id="ask-community"
href="https://github.community"
className="btn btn-outline mr-4 mt-2"
>
<PeopleIcon size="small" className="octicon mr-1" />
Ask the GitHub community
</a>
@@ -94,7 +106,7 @@ export default function Custom404 (props : any) {
className="btn btn-outline mt-2"
>
<CommentDiscussionIcon size="small" className="octicon mr-1" />
Contact support
Contact support
</a>
</div>
</div>

View File

@@ -2,15 +2,20 @@ import { useRouter } from 'next/router'
import Head from 'next/head'
import Link from 'next/link'
import { MarkGithubIcon, GitPullRequestIcon, PeopleIcon, CommentDiscussionIcon } from '@primer/octicons-react'
import {
MarkGithubIcon,
GitPullRequestIcon,
PeopleIcon,
CommentDiscussionIcon,
} from '@primer/octicons-react'
import { useVersion } from 'components/hooks/useVersion'
export default function Custom500(props : any) {
export default function Custom500(props: any) {
const router = useRouter()
const { isEnterprise } = useVersion()
const contribution_href = router.locale
? `https://github.com/github/docs/edit/main/content/`
: 'https://github.com/github/docs'
? `https://github.com/github/docs/edit/main/content/`
: 'https://github.com/github/docs'
return (
<div>
@@ -20,11 +25,11 @@ export default function Custom500(props : any) {
<div className="border-bottom color-border-secondary no-print">
<header className="container-xl px-3 px-md-6 pt-3 pb-2 position-relative d-flex flex-justify-between width-full">
<div
className="d-flex flex-items-center d-lg-none"
style={{ zIndex: 3 }}
id="github-logo-mobile"
role="banner"
>
className="d-flex flex-items-center d-lg-none"
style={{ zIndex: 3 }}
id="github-logo-mobile"
role="banner"
>
<Link href={`/${router.locale}`}>
<a aria-hidden="true" tabIndex={-1}>
<MarkGithubIcon size={32} className="color-icon-primary" />
@@ -32,17 +37,14 @@ export default function Custom500(props : any) {
</Link>
<Link href={`/${router.locale}`}>
<a className="h4-mktg color-text-primary no-underline no-wrap pl-2">
GitHub Docs
</a>
<a className="h4-mktg color-text-primary no-underline no-wrap pl-2">GitHub Docs</a>
</Link>
</div>
<div className="width-full">
<div className="d-inline-block width-full d-md-flex" style={{ zIndex: 1 }}>
<div className="float-right d-md-none position-relative" style={{ zIndex: 3 }}>
<div className="d-md-inline-block">
</div>
<div className="d-md-inline-block"></div>
</div>
</div>
</div>
@@ -52,38 +54,45 @@ export default function Custom500(props : any) {
<article className="markdown-body col-md-10 col-lg-7 mx-auto">
<h1>Ooops!</h1>
<div className="lead-mktg mb-5">
It looks like something went wrong.
We track these errors automatically, but if the problem persists please feel free to contact us.
It looks like something went wrong. We track these errors automatically, but if the
problem persists please feel free to contact us.
</div>
</article>
</div>
<section className="mt-lg-9 py-7 px-3 px-md-6 no-print color-bg-tertiary">
<div className="container-xl gutter-lg-spacious clearfix">
<div className="col-12 col-lg-6 col-xl-4 mb-6 mb-xl-0 float-left">
<div className="f5 contribution">
<h2 className="f4">Help us make these docs great!</h2>
<p className="color-text-secondary f6">All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.</p>
<a className="btn btn-outline" href={contribution_href}>
<GitPullRequestIcon size="small" className="octicon mr-1" />
<div className="f5 contribution">
<h2 className="f4">Help us make these docs great!</h2>
<p className="color-text-secondary f6">
All GitHub docs are open source. See something that's wrong or unclear? Submit a
pull request.
</p>
<a className="btn btn-outline" href={contribution_href}>
<GitPullRequestIcon size="small" className="octicon mr-1" />
Make a contribution
</a>
<p className="color-text-secondary f6 mt-2">
Or,{' '}
<a
href="https://github.com/github/docs/blob/main/CONTRIBUTING.md"
target="_blank"
rel="noopener"
>
learn how to contribute.
</a>
</p>
</div>
<p className="color-text-secondary f6 mt-2">
Or,{' '}
<a
href="https://github.com/github/docs/blob/main/CONTRIBUTING.md"
target="_blank"
rel="noopener"
>
learn how to contribute.
</a>
</p>
</div>
</div>
<div className="col-12 col-lg-12 col-xl-4 float-left">
<div>
<h3 className="mb-2 f4">Still need help?</h3>
<a id="ask-community" href="https://github.community" className="btn btn-outline mr-4 mt-2">
<a
id="ask-community"
href="https://github.community"
className="btn btn-outline mr-4 mt-2"
>
<PeopleIcon size="small" className="octicon mr-1" />
Ask the GitHub community
</a>
@@ -97,7 +106,7 @@ export default function Custom500(props : any) {
className="btn btn-outline mt-2"
>
<CommentDiscussionIcon size="small" className="octicon mr-1" />
Contact support
Contact support
</a>
</div>
</div>

View File

@@ -65,9 +65,7 @@ function LandingPage(props: LandingPageProps) {
</div>
</div>
<div className="mt-3">
{SearchResults}
</div>
<div className="mt-3">{SearchResults}</div>
</div>
)
}}

View File

@@ -27,10 +27,10 @@ glossary.forEach(term => {
fs.writeFileSync(
path.join(__dirname, '../data/glossaries/internal.yml'),
yaml.safeDump(internal)
yaml.dump(internal)
)
fs.writeFileSync(
path.join(__dirname, '../data/glossaries/external.yml'),
yaml.safeDump(external)
yaml.dump(external)
)

View File

@@ -50,7 +50,7 @@ if (options.action === 'remove') {
}
// Update the file
fs.writeFileSync(releaseCandidateYaml, yaml.safeDump(releaseCandidateData))
fs.writeFileSync(releaseCandidateYaml, yaml.dump(releaseCandidateData))
// Display next steps
console.log(`\nDone! Commit the update to ${releaseCandidateFile}. This ${options.action}s the banner for ${options.version}.

View File

@@ -94,7 +94,7 @@ async function main () {
if (content) {
toWrite = matter.stringify(content, newData, { lineWidth: 10000, forceQuotes: true })
} else {
toWrite = yaml.safeDump(newData, { lineWidth: 10000, forceQuotes: true })
toWrite = yaml.dump(newData, { lineWidth: 10000, forceQuotes: true })
}
fs.writeFileSync(localisedAbsPath, toWrite)

View File

@@ -66,7 +66,7 @@ async function main () {
// 1. UPDATE PREVIEWS
const previewsPath = getDataFilepath('previews', graphqlVersion)
const safeForPublicPreviews = yaml.load(await getRemoteRawContent(previewsPath, graphqlVersion))
updateFile(previewsPath, yaml.safeDump(safeForPublicPreviews))
updateFile(previewsPath, yaml.dump(safeForPublicPreviews))
previewsJson[graphqlVersion] = processPreviews(safeForPublicPreviews)
// 2. UPDATE UPCOMING CHANGES

View File

@@ -81,7 +81,7 @@ async function getContentsForBlob (owner, repo, blob) {
// https://docs.github.com/rest/reference/repos#get-repository-content
async function getContents (owner, repo, ref, path) {
try {
const { data } = await github.repos.getContents({
const { data } = await github.repos.getContent({
owner,
repo,
ref,

View File

@@ -138,3 +138,7 @@ header {
}
}
}
#__next .ais-SearchBox-input.js-open {
top: 0;
}