Skip to content

Commit 0762734

Browse files
committed
fixed easy global requires
1 parent ba95c62 commit 0762734

File tree

17 files changed

+85
-43
lines changed

17 files changed

+85
-43
lines changed

.eslintrc.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ module.exports = {
1515
ecmaVersion: 11
1616
},
1717
rules: {
18-
'import/no-extraneous-dependencies': ['error']
18+
'import/no-extraneous-dependencies': ['error'],
19+
'node/global-require': ['error']
1920
},
2021
overrides: [
2122
{

lib/frontmatter.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
const parse = require('./read-frontmatter')
2+
const semverValidRange = require('semver').validRange
23
const layoutNames = Object.keys(require('./layouts')).concat([false])
34
const semverRange = {
45
type: 'string',
5-
conform: require('semver').validRange,
6+
conform: semverValidRange,
67
message: 'Must be a valid SemVer range'
78
}
89
const versionIds = Object.keys(require('./all-versions'))

lib/redirects/permalinks.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const path = require('path')
22
const patterns = require('../patterns')
3-
const supportedVersions = new Set(Object.keys(require('../all-versions')))
3+
const allVersions = require('../all-versions')
4+
const supportedVersions = new Set(Object.keys(allVersions))
45
const getOldPathsFromPermalink = require('./get-old-paths-from-permalink')
56
const { getVersionStringFromPath } = require('../path-utils')
67
const { getNewVersionedPath } = require('../old-versions-utils')

middleware/csrf.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
const cookieSettings = require('../lib/cookie-settings')
2+
13
module.exports = require('csurf')({
2-
cookie: require('../lib/cookie-settings'),
4+
cookie: cookieSettings,
35
ignoreMethods: ['GET', 'HEAD', 'OPTIONS']
46
})

middleware/index.js

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,27 @@
11
const express = require('express')
22
const instrument = require('../lib/instrument-middleware')
33
const haltOnDroppedConnection = require('./halt-on-dropped-connection')
4+
const abort = require('./abort')
5+
const timeout = require('./timeout')
6+
const morgan = require('morgan')
7+
const webpack = require('./webpack')
8+
const datadog = require('./connect-datadog')
9+
const rateLimit = require('./rate-limit')
10+
const cors = require('./cors')
11+
const helmet = require('helmet')
12+
const csp = require('./csp')
13+
const cookieParser = require('./cookie-parser')
14+
const csrf = require('./csrf')
15+
const handleCsrfErrors = require('./handle-csrf-errors')
16+
const compression = require('compression')
17+
const disableCachingOnSafari = require('./disable-caching-on-safari')
18+
const setFastlySurrogateKey = require('./set-fastly-surrogate-key')
19+
const setFastlyCacheHeaders = require('./set-fastly-cache-headers')
20+
const catchBadAcceptLanguage = require('./catch-bad-accept-language')
21+
const reqUtils = require('./req-utils')
22+
const recordRedirect = require('./record-redirect')
23+
const connectSlashes = require('connect-slashes')
24+
const handleErrors = require('./handle-errors')
425

526
const { NODE_ENV } = process.env
627
const isDevelopment = NODE_ENV === 'development'
@@ -15,57 +36,57 @@ const asyncMiddleware = fn =>
1536

1637
module.exports = function (app) {
1738
// *** Request connection management ***
18-
if (!isTest) app.use(require('./timeout'))
19-
app.use(require('./abort'))
39+
if (!isTest) app.use(timeout)
40+
app.use(abort)
2041

2142
// *** Development tools ***
22-
app.use(require('morgan')('dev', { skip: (req, res) => !isDevelopment }))
23-
if (isDevelopment) app.use(require('./webpack'))
43+
app.use(morgan('dev', { skip: (req, res) => !isDevelopment }))
44+
if (isDevelopment) app.use(webpack)
2445

2546
// *** Observability ***
2647
if (process.env.DD_API_KEY) {
27-
app.use(require('./connect-datadog'))
48+
app.use(datadog)
2849
}
2950

3051
// *** Early exits ***
3152
// Don't use the proxy's IP, use the requester's for rate limiting
3253
// See https://expressjs.com/en/guide/behind-proxies.html
3354
app.set('trust proxy', 1)
34-
app.use(require('./rate-limit'))
55+
app.use(rateLimit)
3556
app.use(instrument('./handle-invalid-paths'))
3657

3758
// *** Security ***
38-
app.use(require('./cors'))
39-
app.use(require('helmet')({
59+
app.use(cors)
60+
app.use(helmet({
4061
// Override referrerPolicy to match the browser's default: "strict-origin-when-cross-origin".
4162
// Helmet now defaults to "no-referrer", which is a problem for our archived assets proxying.
4263
referrerPolicy: {
4364
policy: 'strict-origin-when-cross-origin'
4465
}
4566
}))
46-
app.use(require('./csp')) // Must come after helmet
47-
app.use(require('./cookie-parser')) // Must come before csrf
67+
app.use(csp) // Must come after helmet
68+
app.use(cookieParser) // Must come before csrf
4869
app.use(express.json()) // Must come before csrf
49-
app.use(require('./csrf'))
50-
app.use(require('./handle-csrf-errors')) // Must come before regular handle-errors
70+
app.use(csrf)
71+
app.use(handleCsrfErrors) // Must come before regular handle-errors
5172

5273
// *** Headers ***
5374
app.set('etag', false) // We will manage our own ETags if desired
54-
app.use(require('compression')())
55-
app.use(require('./disable-caching-on-safari'))
56-
app.use(require('./set-fastly-surrogate-key'))
57-
app.use(require('./catch-bad-accept-language'))
75+
app.use(compression())
76+
app.use(disableCachingOnSafari)
77+
app.use(setFastlySurrogateKey)
78+
app.use(catchBadAcceptLanguage)
5879

5980
// *** Config and context for redirects ***
60-
app.use(require('./req-utils')) // Must come before record-redirect and events
61-
app.use(require('./record-redirect'))
81+
app.use(reqUtils) // Must come before record-redirect and events
82+
app.use(recordRedirect)
6283
app.use(instrument('./detect-language')) // Must come before context, breadcrumbs, find-page, handle-errors, homepages
6384
app.use(asyncMiddleware(instrument('./context'))) // Must come before early-access-*, handle-redirects
6485
app.use(asyncMiddleware(instrument('./contextualizers/short-versions'))) // Support version shorthands
6586

6687
// *** Redirects, 3xx responses ***
6788
// I ordered these by use frequency
68-
app.use(require('connect-slashes')(false))
89+
app.use(connectSlashes(false))
6990
app.use(instrument('./redirects/external'))
7091
app.use(instrument('./redirects/help-to-docs'))
7192
app.use(instrument('./redirects/language-code-redirects')) // Must come before contextualizers
@@ -131,7 +152,7 @@ module.exports = function (app) {
131152
app.use(asyncMiddleware(instrument('./is-next-request')))
132153

133154
// *** Headers for pages only ***
134-
app.use(require('./set-fastly-cache-headers'))
155+
app.use(setFastlyCacheHeaders)
135156

136157
// handle serving NextJS bundled code (/_next/*)
137158
if (process.env.FEATURE_NEXTJS) {
@@ -145,5 +166,5 @@ module.exports = function (app) {
145166
app.get('/*', asyncMiddleware(instrument('./render-page')))
146167

147168
// *** Error handling, must go last ***
148-
app.use(require('./handle-errors'))
169+
app.use(handleErrors)
149170
}

middleware/search.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
const express = require('express')
2-
const languages = new Set(Object.keys(require('../lib/languages')))
3-
const versions = new Set(Object.values(require('../lib/search/versions')))
2+
const libLanguages = require('../lib/languages')
3+
const searchVersions = require('../lib/search/versions')
4+
const languages = new Set(Object.keys(libLanguages))
5+
const versions = new Set(Object.values(searchVersions))
46
const loadLunrResults = require('../lib/search/lunr-search')
57
const loadAlgoliaResults = require('../lib/search/algolia-search')
68

script/helpers/github.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
const dotenv = require('dotenv')
2+
13
if (!process.env.GITHUB_TOKEN) {
2-
require('dotenv').config()
4+
dotenv.config()
35
}
46

57
// this module needs to work in development, production, and GitHub Actions

script/reconcile-filenames-with-ids.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
const fs = require('fs')
44
const path = require('path')
55
const walk = require('walk-sync')
6-
const slugger = new (require('github-slugger'))()
7-
const entities = new (require('html-entities').XmlEntities)()
6+
const GithubSlugger = require('github-slugger')
7+
const htmlEntities = require('html-entities')
8+
const slugger = new GithubSlugger()
9+
const entities = new htmlEntities.XmlEntities()
810
const frontmatter = require('../lib/read-frontmatter')
911
const { execSync } = require('child_process')
1012
const addRedirectToFrontmatter = require('./helpers/add-redirect-to-frontmatter')

script/rest/utils/operation.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const { get, flatten, isPlainObject } = require('lodash')
22
const { sentenceCase } = require('change-case')
3-
const slugger = new (require('github-slugger'))()
3+
const GitHubSlugger = require('github-slugger')
4+
const slugger = new GitHubSlugger()
45
const httpStatusCodes = require('http-status-code')
56
const renderContent = require('../../../lib/render-content')
67
const createCodeSamples = require('./create-code-samples')

script/sync-search-indices.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
// It can also be run manually. For more info see [contributing/search.md](contributing/search.md)
77
//
88
// [end-readme]
9-
9+
const searchSync = require('./search/sync')
1010
require('make-promises-safe')
1111

1212
main()
1313

1414
async function main () {
15-
const sync = require('./search/sync')
15+
const sync = searchSync
1616
const opts = {
1717
dryRun: 'DRY_RUN' in process.env,
1818
language: process.env.LANGUAGE,

0 commit comments

Comments
 (0)