Migrate CommonJS to ESM (#20301)
* First run of script * Get the app running --- ish * Get NextJS working * Remove `node:` * Get more tests passing in unit directory * Update FailBot test to use nock * Update test.yml * Update Dockerfile * tests/content fixes * Update page.js * Update build-changelog.js * updating tests/routing * Update orphan-tests.js * updating tests/rendering * Update .eslintrc.js * Update .eslintrc.js * Install jest/globals * "linting" tests * staging update to server.mjs * Change '.github/allowed-actions.js' to a ESM export * Lint * Fixes for the main package.json * Move Jest to be last in the npm test command so we can pass args * Just use 'npm run lint' in the npm test command * update algolia label script * update openapi script * update require on openapi * Update enterprise-algolia-label.js * forgot JSON.parse * Update lunr-search-index.js * Always explicitly include process.cwd() for JSON file reads pathed from project root * update graphql/update-files.js script * Update other npm scripts using jest to pass ESM NODE_OPTIONS * Update check-for-enterprise-issues-by-label.js for ESM * Update create-enterprise-issue.js for ESM * Import jest global for browser tests * Convert 'script/deploy' to ESM Co-authored-by: Grace Park <gracepark@github.com> Co-authored-by: James M. Greene <jamesmgreene@github.com>
This commit is contained in:
@@ -1,27 +1,27 @@
|
||||
const slash = require('slash')
|
||||
const path = require('path')
|
||||
const patterns = require('./patterns')
|
||||
const { latest } = require('./enterprise-server-releases')
|
||||
const { productIds } = require('./all-products')
|
||||
const allVersions = require('./all-versions')
|
||||
import slash from 'slash'
|
||||
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 nonEnterpriseDefaultVersion from './non-enterprise-default-version.js'
|
||||
const supportedVersions = new Set(Object.keys(allVersions))
|
||||
const nonEnterpriseDefaultVersion = require('./non-enterprise-default-version')
|
||||
|
||||
// Add the language to the given HREF
|
||||
// /articles/foo -> /en/articles/foo
|
||||
function getPathWithLanguage (href, languageCode) {
|
||||
export function getPathWithLanguage (href, languageCode) {
|
||||
return slash(path.posix.join('/', languageCode, getPathWithoutLanguage(href)))
|
||||
.replace(patterns.trailingSlash, '$1')
|
||||
}
|
||||
|
||||
// Remove the language from the given HREF
|
||||
// /en/articles/foo -> /articles/foo
|
||||
function getPathWithoutLanguage (href) {
|
||||
export function getPathWithoutLanguage (href) {
|
||||
return slash(href.replace(patterns.hasLanguageCode, '/'))
|
||||
}
|
||||
|
||||
// Remove the version segment from the path
|
||||
function getPathWithoutVersion (href) {
|
||||
export function getPathWithoutVersion (href) {
|
||||
const versionFromPath = getVersionStringFromPath(href)
|
||||
|
||||
// If the derived version is not found in the list of all versions, just return the HREF
|
||||
@@ -31,7 +31,7 @@ function getPathWithoutVersion (href) {
|
||||
}
|
||||
|
||||
// Return the version segment in a path
|
||||
function getVersionStringFromPath (href) {
|
||||
export function getVersionStringFromPath (href) {
|
||||
href = getPathWithoutLanguage(href)
|
||||
|
||||
// Return immediately if this is a link to the homepage
|
||||
@@ -69,14 +69,14 @@ function getVersionStringFromPath (href) {
|
||||
}
|
||||
|
||||
// Return the corresponding object for the version segment in a path
|
||||
function getVersionObjectFromPath (href) {
|
||||
export function getVersionObjectFromPath (href) {
|
||||
const versionFromPath = getVersionStringFromPath(href)
|
||||
|
||||
return allVersions[versionFromPath]
|
||||
}
|
||||
|
||||
// Return the product segment from the path
|
||||
function getProductStringFromPath (href) {
|
||||
export function getProductStringFromPath (href) {
|
||||
href = getPathWithoutLanguage(href)
|
||||
|
||||
if (href === '/') return 'homepage'
|
||||
@@ -90,7 +90,7 @@ function getProductStringFromPath (href) {
|
||||
: pathParts[1]
|
||||
}
|
||||
|
||||
function getCategoryStringFromPath (href) {
|
||||
export function getCategoryStringFromPath (href) {
|
||||
href = getPathWithoutLanguage(href)
|
||||
|
||||
if (href === '/') return null
|
||||
@@ -106,7 +106,7 @@ function getCategoryStringFromPath (href) {
|
||||
return pathParts[productIndex + 1]
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
getPathWithLanguage,
|
||||
getPathWithoutLanguage,
|
||||
getPathWithoutVersion,
|
||||
|
||||
Reference in New Issue
Block a user