Skip to content

Commit

Permalink
fix: use named export for all-versions (github#20478)
Browse files Browse the repository at this point in the history
* fix: use named export for all-versions

* run prettier
  • Loading branch information
mikesurowiec authored Jul 22, 2021
1 parent 7b9800b commit 9386571
Show file tree
Hide file tree
Showing 50 changed files with 286 additions and 239 deletions.
3 changes: 2 additions & 1 deletion components/DefaultLayout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ export const DefaultLayout = (props: Props) => {
<Head>
{error === '404' ? (
<title>{t('oops')}</title>
) : (!isHomepageVersion && page.fullTitle) || (currentPathWithoutLanguage.includes('enterprise-server') && page.fullTitle) ? (
) : (!isHomepageVersion && page.fullTitle) ||
(currentPathWithoutLanguage.includes('enterprise-server') && page.fullTitle) ? (
<title>{page.fullTitle}</title>
) : null}

Expand Down
7 changes: 1 addition & 6 deletions components/article/ArticlePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,7 @@ export const ArticlePage = () => {
</div>
)}

{intro && (
<div
className="lead-mktg"
dangerouslySetInnerHTML={{ __html: intro }}
/>
)}
{intro && <div className="lead-mktg" dangerouslySetInnerHTML={{ __html: intro }} />}

{permissions && (
<div
Expand Down
6 changes: 3 additions & 3 deletions components/context/ProductLandingContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ export type TocItem = {
title: string
intro?: string
childTocItems?: Array<{
fullPath: string;
title: string;
}>
fullPath: string
title: string
}>
}
export type FeaturedLink = {
title: string
Expand Down
2 changes: 1 addition & 1 deletion components/landing/GuideCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export const GuideCard = ({ guide }: Props) => {
className="Box color-shadow-medium height-full d-block hover-shadow-large no-underline color-text-primary p-5"
href={guide.href}
>
<h2 dangerouslySetInnerHTML={{__html: guide.title}} />
<h2 dangerouslySetInnerHTML={{ __html: guide.title }} />
<p className="mt-2 mb-4 color-text-tertiary">{guide.intro}</p>

<footer className="d-flex">
Expand Down
36 changes: 20 additions & 16 deletions components/landing/TableOfContents.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,26 @@ export const TableOfContents = (props: Props) => {
return variant === 'compact' ? (
<li key={href} className="f4 my-1">
<Link href={href}>{title}</Link>
<ul className={cx(variant === 'compact' ? 'list-style-circle pl-5 my-3' : 'list-style-none')}>
{(childTocItems || []).map((childItem) => {
if (!childItem) {
return null
}
return (
<li key={childItem.fullPath} className="f4 mt-1">
<Link
href={childItem.fullPath}
className="Bump-link--hover no-underline py-1 color-border-primary"
>
{childItem.title}
</Link>
</li>
)
})}
<ul
className={cx(
variant === 'compact' ? 'list-style-circle pl-5 my-3' : 'list-style-none'
)}
>
{(childTocItems || []).map((childItem) => {
if (!childItem) {
return null
}
return (
<li key={childItem.fullPath} className="f4 mt-1">
<Link
href={childItem.fullPath}
className="Bump-link--hover no-underline py-1 color-border-primary"
>
{childItem.title}
</Link>
</li>
)
})}
</ul>
</li>
) : (
Expand Down
3 changes: 2 additions & 1 deletion lib/all-versions.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,4 +67,5 @@ plans.forEach((planObj) => {
})
})

export default allVersions
export const allVersionKeys = Object.keys(allVersions)
export { allVersions }
14 changes: 11 additions & 3 deletions lib/frontmatter.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,24 @@ import fs from 'fs'
import path from 'path'
import parse from './read-frontmatter.js'
import semver from 'semver'
import xAllVersions from './all-versions.js'
import { allVersions } from './all-versions.js'

const layoutNames = ['default', 'dev-toc', 'graphql-explorer', 'product-landing', 'product-sublanding', 'release-notes', false]
const layoutNames = [
'default',
'dev-toc',
'graphql-explorer',
'product-landing',
'product-sublanding',
'release-notes',
false,
]
const semverValidRange = semver.validRange
const semverRange = {
type: 'string',
conform: semverValidRange,
message: 'Must be a valid SemVer range',
}
const versionObjs = Object.values(xAllVersions)
const versionObjs = Object.values(allVersions)
const guideTypes = ['overview', 'quick_start', 'tutorial', 'how_to', 'reference']
const featureVersions = fs
.readdirSync(path.posix.join(process.cwd(), 'data/features'))
Expand Down
2 changes: 1 addition & 1 deletion lib/get-applicable-versions.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { fileURLToPath } from 'url'
import path from 'path'
import { reduce, sortBy } from 'lodash-es'
import allVersions from './all-versions.js'
import { allVersions } from './all-versions.js'
import versionSatisfiesRange from './version-satisfies-range.js'
import checkIfNextVersionOnly from './check-if-next-version-only.js'
import dataDirectory from './data-directory.js'
Expand Down
4 changes: 2 additions & 2 deletions lib/non-enterprise-default-version.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import xAllVersions from '../lib/all-versions.js'
const nonEnterpriseDefaultVersion = Object.values(xAllVersions).find(
import { allVersions } from '../lib/all-versions.js'
const nonEnterpriseDefaultVersion = Object.values(allVersions).find(
(version) => version.nonEnterpriseDefault
).version

Expand Down
4 changes: 2 additions & 2 deletions lib/old-versions-utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import path from 'path'
import { supported, latest } from './enterprise-server-releases.js'
import patterns from './patterns.js'
import nonEnterpriseDefaultVersion from './non-enterprise-default-version.js'
import xAllVersions from './all-versions.js'
import { allVersions } from './all-versions.js'
const latestNewVersion = `enterprise-server@${latest}`
const oldVersions = ['dotcom'].concat(supported)
const newVersions = Object.keys(xAllVersions)
const newVersions = Object.keys(allVersions)

// Utility functions for converting between old version paths and new version paths.
// See lib/path-utils.js for utility functions based on new paths.
Expand Down
4 changes: 2 additions & 2 deletions lib/page-data.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { fileURLToPath } from 'url'
import path from 'path'
import languages from './languages.js'
import xAllVersions from './all-versions.js'
import { allVersions } from './all-versions.js'
import createTree from './create-tree.js'
import renderContent from './render-content/index.js'
import loadSiteData from './site-data.js'
import nonEnterpriseDefaultVersion from './non-enterprise-default-version.js'
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const versions = Object.keys(xAllVersions)
const versions = Object.keys(allVersions)
const enterpriseServerVersions = versions.filter((v) => v.startsWith('enterprise-server@'))
const renderOpts = { textOnly: true, encodeEntities: true }

Expand Down
2 changes: 1 addition & 1 deletion lib/path-utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import path from 'path'
import patterns from './patterns.js'
import { latest } from './enterprise-server-releases.js'
import { productIds } from './all-products.js'
import allVersions from './all-versions.js'
import { allVersions } from './all-versions.js'
import nonEnterpriseDefaultVersion from './non-enterprise-default-version.js'
const supportedVersions = new Set(Object.keys(allVersions))

Expand Down
2 changes: 1 addition & 1 deletion lib/permalink.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import assert from 'assert'
import path from 'path'
import patterns from './patterns.js'
import allVersions from './all-versions.js'
import { allVersions } from './all-versions.js'
import removeFPTFromPath from './remove-fpt-from-path.js'

class Permalink {
Expand Down
4 changes: 2 additions & 2 deletions lib/redirects/get-old-paths-from-permalink.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import {
} from '../path-utils.js'
import patterns from '../patterns.js'
import versionSatisfiesRange from '../version-satisfies-range.js'
import xAllVersions from '../all-versions.js'
import { allVersions } from '../all-versions.js'
import nonEnterpriseDefaultVersion from '../non-enterprise-default-version.js'
const currentlySupportedVersions = Object.keys(xAllVersions)
const currentlySupportedVersions = Object.keys(allVersions)

// This function takes a current path, applies what we know about historically
// supported paths, and returns an array of ALL possible associated old
Expand Down
2 changes: 1 addition & 1 deletion lib/redirects/permalinks.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import path from 'path'
import patterns from '../patterns.js'
import allVersions from '../all-versions.js'
import { allVersions } from '../all-versions.js'
import getOldPathsFromPermalink from './get-old-paths-from-permalink.js'
import { getVersionStringFromPath } from '../path-utils.js'
import { getNewVersionedPath } from '../old-versions-utils.js'
Expand Down
2 changes: 1 addition & 1 deletion lib/render-content/plugins/rewrite-legacy-asset-paths.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import visit from 'unist-util-visit'
import fs from 'fs'
import { legacyAssetVersions } from '../../enterprise-server-releases.js'
import allVersions from '../../all-versions.js'
import { allVersions } from '../../all-versions.js'

const matcher = (node) =>
node.type === 'element' &&
Expand Down
2 changes: 1 addition & 1 deletion lib/render-content/plugins/rewrite-local-links.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { getNewVersionedPath } from '../../old-versions-utils.js'
import patterns from '../../patterns.js'
import { deprecated, latest } from '../../enterprise-server-releases.js'
import nonEnterpriseDefaultVersion from '../../non-enterprise-default-version.js'
import allVersions from '../../all-versions.js'
import { allVersions } from '../../all-versions.js'
import removeFPTFromPath from '../../remove-fpt-from-path.js'
import readJsonFile from '../../read-json-file.js'
const supportedVersions = Object.keys(allVersions)
Expand Down
3 changes: 1 addition & 2 deletions lib/rest/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { fileURLToPath } from 'url'
import path from 'path'
import fs from 'fs'
import { chain, get, groupBy } from 'lodash-es'
import allVersions from '../all-versions.js'
import { allVersions, allVersionKeys } from '../all-versions.js'
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const schemasPath = path.join(__dirname, 'static/decorated')
export const operations = {}
Expand All @@ -11,7 +11,6 @@ fs.readdirSync(schemasPath).forEach((filename) => {
const value = JSON.parse(fs.readFileSync(path.join(schemasPath, filename)))
operations[key] = value
})
const allVersionKeys = Object.keys(allVersions)

let allCategories = []
allVersionKeys.forEach((currentVersion) => {
Expand Down
2 changes: 1 addition & 1 deletion lib/rewrite-local-links.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { getNewVersionedPath } from './old-versions-utils.js'
import patterns from './patterns.js'
import { deprecated, latest } from './enterprise-server-releases.js'
import nonEnterpriseDefaultVersion from './non-enterprise-default-version.js'
import allVersions from './all-versions.js'
import { allVersions } from './all-versions.js'
import removeFPTFromPath from './remove-fpt-from-path.js'
import readJsonFile from './read-json-file.js'
const supportedVersions = Object.keys(allVersions)
Expand Down
2 changes: 1 addition & 1 deletion lib/search/versions.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import allVersions from '../all-versions.js'
import { allVersions } from '../all-versions.js'

export default Object.fromEntries(
Object.entries(allVersions).map(([versionStr, versionObject]) => [
Expand Down
2 changes: 1 addition & 1 deletion middleware/context.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import languages from '../lib/languages.js'
import enterpriseServerReleases from '../lib/enterprise-server-releases.js'
import allVersions from '../lib/all-versions.js'
import { allVersions } from '../lib/all-versions.js'
import { productMap } from '../lib/all-products.js'
import xPathUtils from '../lib/path-utils.js'
import productNames from '../lib/product-names.js'
Expand Down
2 changes: 1 addition & 1 deletion middleware/contextualizers/graphql.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import fs from 'fs'
import path from 'path'
import readJsonFile from '../../lib/read-json-file.js'
import allVersions from '../../lib/all-versions.js'
import { allVersions } from '../../lib/all-versions.js'
const previews = readJsonFile('./lib/graphql/static/previews.json')
const upcomingChanges = readJsonFile('./lib/graphql/static/upcoming-changes.json')
const changelog = readJsonFile('./lib/graphql/static/changelog.json')
Expand Down
2 changes: 1 addition & 1 deletion middleware/contextualizers/webhooks.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { defaults } from 'lodash-es'
import webhookPayloads from '../../lib/webhooks/index.js'
import nonEnterpriseDefaultVersion from '../../lib/non-enterprise-default-version.js'
import allVersions from '../../lib/all-versions.js'
import { allVersions } from '../../lib/all-versions.js'

export default function webhooksContext(req, res, next) {
const currentVersionObj = allVersions[req.context.currentVersion]
Expand Down
6 changes: 2 additions & 4 deletions script/content-migrations/update-developer-site-links.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ import frontmatter from '../../lib/read-frontmatter.js'
import { loadPages, loadPageMap } from '../../lib/page-data.js'
import patterns from '../../lib/patterns.js'
import loadRedirects from '../../lib/redirects/precompile.js'
import xAllVersions from '../../lib/all-versions.js'

const allVersions = Object.keys(xAllVersions)
import { allVersionKeys } from '../../lib/all-versions.js'

// get all content and data files
const files = ['content', 'data']
Expand Down Expand Up @@ -58,7 +56,7 @@ async function main() {
// remove language code segment
.replace(patterns.getLanguageCode, '')
// remove version segment
.replace(new RegExp(`/(${allVersions.join('|')})`), '')
.replace(new RegExp(`/(${allVersionKeys.join('|')})`), '')

// re-add the fragment after removing any fragment added via the redirect
// otherwise /v3/git/refs/#create-a-reference will become /rest/reference/git#refs#create-a-reference
Expand Down
8 changes: 4 additions & 4 deletions script/content-migrations/use-short-versions.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import path from 'path'
import { escapeRegExp } from 'lodash-es'
import { Tokenizer } from 'liquidjs'
import frontmatter from '../../lib/read-frontmatter.js'
import xAllVersions from '../../lib/all-versions.js'
import { allVersions } from '../../lib/all-versions.js'
import { deprecated, oldestSupported } from '../../lib/enterprise-server-releases.js'

const allVersions = Object.values(xAllVersions)
const allVersionKeys = Object.values(allVersions)
const dryRun = ['-d', '--dry-run'].includes(process.argv[2])

const walkFiles = (pathToWalk, ext) => {
Expand Down Expand Up @@ -62,7 +62,7 @@ async function main() {
.replace(/>=?2\.19/, '*')

// Find the relevant version from the master list so we can access the short name.
const versionObj = allVersions.find(
const versionObj = allVersionKeys.find(
(version) => version.plan === plan || version.shortName === plan
)
if (!versionObj) {
Expand Down Expand Up @@ -186,7 +186,7 @@ function getLiquidReplacements(content, file) {
const [plan, release] = opParts[2].slice(1, -1).split('@')

// Find the relevant version from the master list so we can access the short name.
const versionObj = allVersions.find((version) => version.plan === plan)
const versionObj = allVersionKeys.find((version) => version.plan === plan)

if (!versionObj) {
console.error(`Couldn't find a version for ${plan} in "${token}" in ${file}`)
Expand Down
20 changes: 13 additions & 7 deletions script/enterprise-server-deprecations/remove-redirects.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env node

import fs from 'fs'
import fs from 'fs'
import path from 'path'
import program from 'commander'
import readJsonFile from '../../lib/read-json-file.js'
Expand All @@ -19,20 +19,26 @@ program
.description(
'Remove developer redirects for deprecated versions. The redirects for deprecated versions live in the respective directory in the github/help-docs-archived-enterprise-versions repository.'
)
.option('-r, --release <NUMBER>', 'Enterprise Server release number. Example: 2.19. Default: latest deprecated release number.')
.option(
'-r, --release <NUMBER>',
'Enterprise Server release number. Example: 2.19. Default: latest deprecated release number.'
)
.parse(process.argv)

// Default to latest deprecated release
const release = program.opts().release || deprecated[0]

const supportedRedirects = {}

Object.keys(developerRedirects).forEach(elem => {
const includesVersion = elem.includes(`enterprise/${release}`)
|| elem.includes(`enterprise-server@${release}`)
if ( includesVersion ) return
Object.keys(developerRedirects).forEach((elem) => {
const includesVersion =
elem.includes(`enterprise/${release}`) || elem.includes(`enterprise-server@${release}`)
if (includesVersion) return

supportedRedirects[elem] = developerRedirects[elem]
})

fs.writeFileSync(path.join(process.cwd(), DEVELOPER_REDIRECTS_FILEPATH), JSON.stringify(supportedRedirects, null, 2))
fs.writeFileSync(
path.join(process.cwd(), DEVELOPER_REDIRECTS_FILEPATH),
JSON.stringify(supportedRedirects, null, 2)
)
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import fs from 'fs'
import path from 'path'
import xRimraf from 'rimraf'
import allVersions from '../../lib/all-versions.js'
import { allVersions } from '../../lib/all-versions.js'

const rimraf = xRimraf.sync

Expand Down
Loading

0 comments on commit 9386571

Please sign in to comment.